UITableView 滚动到索引被破坏
Posted
技术标签:
【中文标题】UITableView 滚动到索引被破坏【英文标题】:UITableView scroll to index is broken 【发布时间】:2015-06-29 10:56:55 【问题描述】:我通过实现sectionIndexTitlesForTableView:
和tableView:sectionForSectionIndexTitle:atIndex:
这两种方法在我的UITableView
中实现了索引。起初它可以工作,但经过几周的开发后,我注意到它现在已经坏了。
更准确地说,每当我触摸侧面的索引时,我仍然会触发后一个事件,它会返回正确的索引,但表格不会跳转到该部分,后者内部的调用也不会显式向下滚动到该部分的函数(以scrollToRowAtIndexPath:atScrollPosition:
的形式)执行任何远程类似滚动的操作。
有谁知道这里可能出了什么问题?我知道没有太多可用的信息...我很肯定它以前有效。
一些代码sn-ps
...
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;
更有趣的是:我认为这是由于第二个搜索表与原始表共享委托!索引适用于搜索表,但不适用于原始表...
任何 cmets 都会有所帮助!
【问题讨论】:
【参考方案1】:非常有趣的是,似乎当我们为UITableView
定义索引时,显示索引的视图不是表视图的子视图。
我依靠设置搜索表的 alpha 值来淡入/淡出以在搜索和非搜索模式之间切换,不知道搜索表的索引视图覆盖了原始表。
如果其他人遇到此问题,请尝试使用 bringSubviewToFront:
而不是更改 alpha!
【讨论】:
以上是关于UITableView 滚动到索引被破坏的主要内容,如果未能解决你的问题,请参考以下文章