UITableView滚动到索引已损坏

时间:2015-06-29 10:56:56

标签: ios uitableview cocoa-touch

我已通过实施UITableViewsectionIndexTitlesForTableView:两种方法在我的tableView:sectionForSectionIndexTitle:atIndex:中实施了索引编制。它最初起作用了,但是经过几个星期的开发后我注意到它现在已经坏了。

更确切地说,每当我触摸侧面的索引时,我仍然会触发后一个事件,并且它将返回正确的索引,但是表格不会跳转到该部分,也不会在后面调用功能显式向下滚动到该部分(以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;
}

更有趣的是:我认为这是因为第二个搜索表与原始表共享委托!索引与搜索表一起使用,但不适用于原始表...

任何评论都会有所帮助!

1 个答案:

答案 0 :(得分:0)

非常有趣的是,似乎当我们为UITableView定义索引时,显示索引的视图而不是是表视图的子视图。

我依靠设置搜索表的alpha值来淡入/淡出以在搜索和非搜索模式之间切换,而不知道搜索表的索引视图覆盖了原始表。

如果有其他人遇到此问题,请尝试使用bringSubviewToFront:而不是更改alpha!