首先是在这个代理函数中添加索引数组:
#pragma mark-索引显示数组
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < datasource.count; i++) {
NSDictionary *dic = datasource[i];
NSString *temp = [dic allKeys][0];
[array addObject:temp];
}
return array;
}
这样就可以在右侧显示了,说明下,我的模型数组里面嵌套字典,字典的Key为ABCD*****,字典的value为首字母为该key的用户的名字,下面是建立索引对应关系,这里的
if (key == UITableViewIndexSearch) {
[self.ContactTableView setContentOffset:CGPointZero animated:NO];
return NSNotFound;
}是不会执行的!
#pragma mark-自定义索引与数组的对应关系
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
NSDictionary *dic = [datasource objectAtIndex:index];
NSString *key = [dic allKeys][0];
if (key == UITableViewIndexSearch) {
[self.ContactTableView setContentOffset:CGPointZero animated:NO];
return NSNotFound;
}
return index;
}
加上索引后,发现右侧有个白色竖条,解决方法就是设置索引的背景色为无色,代码如下:
self.ContactTableView.sectionIndexBackgroundColor = [UIColor clearColor];
方法来源于网络。。。。。有什么错误的地方,还请指正。。。。