刚刚在制作字母索引列表时用到了索引的一些知识,整理一下:
1.索引数与分区数相同,不需要设置,
//返回section的个数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
2.索引实质上是一个由字符串组成的数组:
//返回索引数组
-(
NSArray
*)sectionIndexTitlesForTableView:(
UITableView
*)tableView
//返回数组中的元素
-(
NSString
*)tableView:(
UITableView
*)tableView titleForHeaderInSection:(
NSInteger
)section
3.索引的响应函数
-(
NSInteger
)tableView:(
UITableView
*)tableView sectionForSectionIndexTitle:(
NSString
*)title atIndex:(
NSInteger
)index
这个返回值其实感觉有点莫名其妙,不过不要紧,把它当做无返回值得函数,实现你要的效果最后return 0;就好了。
当然,如果你要滚动tableView到索引对应的位置的话(本来有自动滚动的功能,但是在你重写此方法时被覆盖掉了),可以用到这个:
NSIndexPath
*scrollIndexPath = [
NSIndexPath
indexPathForRow
:
0
inSection
:index];
[self.musicListTableView scrollToRowAtIndexPath:scrollIndexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
最后
return
index;