在做地区选择的时候,经常会使用分区的表格,每个分区的头部是地区的首字母,例如A,B,C,D...等等,而在表格的右边也有竖着的一列A,B,C,D...等等,要求是在点击竖着的一列对应的字母的时候,需要表格自动滚动到该字母的分区,其实很简单,竖着的一列字母用button,在button的点击事件里,用这个方法,他是表格的代理方法:
[self.TableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
其中position有四个枚举,
UITableViewScrollPositionTop 是顶部
UITableViewScrollPositionBottom 是底部
UITableViewScrollPositionMiddle 是中间
UITableViewScrollPositionNone 是默认
完成,可以自己试一下
补充一个功能点,如果需要判断表格滑动到了哪一个分区,看以下示例
- (void)scrollViewDidScroll:(UIScrollView*)scrollView{
if(scrollView ==self.tbv) {
//判断表格滚动到了哪个分区
CGFloaty = scrollView.contentOffset.y;
for(NSInteger i =0; i < self.baseArr.count; i ++){
CGFloat offset = [self.tbv rectForSection:i].origin.y;
CGFloat height = [self.tbv rectForSection:i].size.height;
if(y >= offset && y <= offset + height) {
NSLog(@"=====================%ld",i);
}
}
}
}