TableView索引的添加

时间:2021-03-20 17:34:04

首先是在这个代理函数中添加索引数组:


#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];

方法来源于网络。。。。。有什么错误的地方,还请指正。。。。