03-UITableView索引栏显示自定义图片

时间:2023-02-19 13:19:22

如果对iOS开发感兴趣,可以来黑马程序员学习iOS:黑马程序员

1.1-系统API有没有提供相关的属性或者代理呢?

  • 实际上UITableView的索引栏是一个指向字符串NSString的泛型数组,并不能直接显示图片

  • 1.UITableView的API中与索引栏相关的属性

03-UITableView索引栏显示自定义图片

  • 2.UITableView的API中与索引栏相关的代理

03-UITableView索引栏显示自定义图片

  • 3.效果展示

03-UITableView索引栏显示自定义图片

1.2-自定义View作为索引栏

  • 这种方式是可行的,但是工作量太大,同时该方式也是目前市场上比较常用的方式

1.3-使用NSString显示图片原理

  • NSString和图片有一个共同点:在底层都是二进制
    • 本篇博客就从简单到复杂,解开字符串显示图片的神秘面纱*

1.3.1-直接在输入法输出表情

03-UITableView索引栏显示自定义图片

  • 原理探究:为什么NSString能够直接显示键盘敲出的表情符号呢?
    • 这主要因为我们敲出的表情属于emoji表情,而emoji表情又属于Unicode编码

1.3.2-使用十六进制的Unicode编码显示表情

03-UITableView索引栏显示自定义图片

03-UITableView索引栏显示自定义图片

1.3.3-使用二进制创建字符串显示自定义图片

  • 注意
    • 1.这里Unicode表情是两个字节,所以字符串用的是UTF16编码(一个字节byte8个位bit),实际中的编码要根据图片实际的字节数选择编码
    • 2.实际开发中,可以让UI把图片设计好,交给后台转成二进制然后直接发给客户端即可,这里我没有服务器环境,所以我就手动拼接了一个本地的二进制

“`objc

//返回索引栏数组
- (NSArray