我将表格视图的搜索栏作为其tableHeaderView
(主要是因为即使在调用reloadData
时,它也保持键盘焦点)。
我也有我的右边缘字母索引列表,其中令人惊叹的UITableViewIndexSearch
表示放大镜图标。但是sectionForSectionIndexTitle:atIndex:
仅允许将其映射到部分索引0
,该索引会自动滚动到表视图的第一部分(但将我的搜索字段隐藏在其上方)。每当点击索引的放大镜图标时,最优雅的显示全部tableHeaderView
的方法是什么?
最佳答案
从Matt Neuberg的书“ Programming iOS 7”中,我发现了这个相当有用的技巧:
当用户点击放大镜(索引为0)时,它会将标题滚动到视图中,我们将返回假的章节号。
迅速:
func tableView(tableView: UITableView,
sectionForSectionIndexTitle title: String,
atIndex index: Int) -> Int {
if(index == 0){
tableView.scrollRectToVisible((tableView.tableHeaderView?.frame)!, animated: false)
}
return index-1
}
目标C:
- (NSInteger)tableView:(UITableView *)
sectionForSectionIndexTitle:(NSString *)title
atIndex:(NSInteger)index {
if(index == 0)
[tableView scrollRectToVisible:tableView.tableHeaderView.frame animated: NO];
return index-1;
}
关于ios - 使UITableViewIndexSearch跳转到tableHeaderView而不是第0节,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26149526/