2015-06-29 4 views
0

Я внедрил индексацию в своем UITableView, реализовав два метода: sectionIndexTitlesForTableView: и tableView:sectionForSectionIndexTitle:atIndex:. Сначала это работало, но спустя несколько недель спустя я заметил, что теперь он сломан.UITableView прокрутка к индексу сломана

Чтобы быть более точным, я все равно получаю последнее событие, когда я касаюсь указателя сбоку, и он вернет правильный индекс, но таблица не перескакивает в этот раздел, и не будет вызова внутри последняя функция, чтобы явно прокручивать вниз до этого раздела (в форме scrollToRowAtIndexPath:atScrollPosition:) делать что-нибудь, отдаленно напоминающее прокрутку.

Кто-нибудь знает, что может пойти не так, как надо? Я знаю, что информации мало. Я уверен, что это работало раньше.

Некоторые фрагменты кода

... 

indexList = @[@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", 
       @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", 
       @"U", @"V", @"W", @"X", @"Y", @"Z", @"#"]; 
... 

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { 
    return indexList; 
} 

- (NSInteger)tableView:(UITableView *)tableView 
    sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index { 
    return index; 
} 

Еще более интересно: я думаю, что это вызвано наличием второй поисковой таблицы обмена делегата с оригинальным столом! Индексация работает с таблицей поиска, но не с исходной таблицей ...

Любые комментарии помогут!

ответ

0

Очень интригующе, кажется, что когда мы определяем индекс для UITableView, представление, отображающее индекс, равно , а не подкласс таблицы.

Я полагался на настройку альфа-значения таблицы поиска, чтобы угаснуть его в/из для переключения между режимами поиска и не-поиска, не подозревая, что индексный указатель таблицы поиска покрывает исходную таблицу.

Если кто-то еще сталкивается с этой проблемой, попробуйте использовать bringSubviewToFront: вместо изменения альфы!

Смежные вопросы