我已经实现了UITableView
,每个部分上方都有节标题。我已经设计了具有分组样式的表格,因此标题会与表格一起滚动而不是固定到顶部。我还添加了一个部分索引,以便用户可以点击/滑动以跳转到特定部分。问题是跳转到该部分,但它显示顶部的节标题。在这种情况下,这是不受欢迎的 - 我想滚动,因此第一个单元格的顶部位于屏幕顶部,该部分标题不可见。
当用户点击UITableView
的部分索引中的图标时,如何滚动显示部分标题?
答案 0 :(得分:0)
找到解决方案。也许有一个更清洁的解决方案,但这对我来说效果很好。
返回-1
以防止在调用该方法时表视图滚动到任何部分。在返回之前,添加逻辑以通过获取和修改下一个单元格的框架滚动到所需位置。
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
CGRect nextRowRect = [tableView rectForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:index]];
nextRowRect.origin.y -= tableView.rowHeight;
nextRowRect.size.height += tableView.frame.size.height - tableView.contentInset.top - tableView.contentInset.bottom - tableView.rowHeight;
[tableView scrollRectToVisible:nextRowRect animated:NO];
return -1; //prevent auto scroll
}
答案 1 :(得分:0)
试试这个
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 section:desiredSectionIndex];
[tableView scrollToRowAtIndexPath: indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];