美文网首页
UITableView的索引字母表Section

UITableView的索引字母表Section

作者: 独孤流 | 来源:发表于2021-11-18 22:28 被阅读0次

    前言:

    在开发中会遇到各种各样的UI自定义字母表的情况,特记录下相关API

    1、在开发中,有些UI会有按字母表分组展示,右侧是字母index排序,点击某个字母就跳转到对应的分组位置,典型的例子就是联系人列表

    需要实现UITableViewDataSource的- (NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView;方法即可

    - (NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView {
       return @[@"A",@"B",@"C"];
    }
    

    2、在某些特定场景下,会在字母表前面显示个#或其他特殊符号,但是点击对应的字母还是跳转到对应字母的分组,这样就需要改写每个title对应的index了- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index;

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // 实际的组比字母表的数量少一个,因为要在前面显示一个#
       return (@[@"#",@"A",@"B",@"C"].count - 1);
    }
    - (NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView {
    // 让字母表比实际的组多一个字母
       return @[@"#",@"A",@"B",@"C"];
    }
    - (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
    // 让点击#和第一个字母时都跳转到第一个字母,点击其他字母时跳转到其他字母
    return MAX(0, index -1);
    }
    
    截屏2021-11-18 22.22.50.png

    3、长按字母表有放大镜的效果,就像一般安卓手机那样

    iOS如何完美简单实现UITableView索引的放大悬浮提示View显示

    iOS UITableView字母索引——系统自带检索栏
    自定义UITableViewIndex

    相关文章

      网友评论

          本文标题:UITableView的索引字母表Section

          本文链接:https://www.haomeiwen.com/subject/zmijtrtx.html