首先是在这个代理函数中添加索引数组:
#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];
方法来源于网络。。。。。有什么错误的地方,还请指正。。。。