如果对iOS开发感兴趣,可以来黑马程序员学习iOS:黑马程序员
-
UITableView是iOS系统中使用率最高的一个控件,最为UI基础中最重要的一个控件,相信很多有过iOS开发经验的人都对它的属性和用法了如指掌
- 那么在市场的APP中,有一些APP的UItableView的索引栏显示一个图标是如何实现的呢?
1.1-系统API有没有提供相关的属性或者代理呢?
实际上UITableView的索引栏是一个指向字符串
NSString
的泛型数组,并不能直接显示图片1.UITableView的API中与索引栏相关的属性
- 2.UITableView的API中与索引栏相关的代理
- 3.效果展示
1.2-自定义View作为索引栏
- 这种方式是可行的,但是工作量太大,同时该方式也是目前市场上比较常用的方式
1.3-使用NSString显示图片原理
-
NSString和图片有一个共同点:在底层都是二进制
- 本篇博客就从简单到复杂,解开字符串显示图片的神秘面纱*
1.3.1-直接在输入法输出表情
-
原理探究:为什么NSString能够直接显示键盘敲出的表情符号呢?
- 这主要因为我们敲出的表情属于emoji表情,而emoji表情又属于Unicode编码
1.3.2-使用十六进制的Unicode编码显示表情
-
emoji表情代码大全:http://www.fuhaodq.com/biaoqingfuhao/1531.html
- emoji表情本质上其实就是两个字节的十六进制表示的Unicode编码*
1.3.3-使用二进制创建字符串显示自定义图片
-
注意
- 1.这里Unicode表情是两个字节,所以字符串用的是UTF16编码(一个字节byte8个位bit),实际中的编码要根据图片实际的字节数选择编码
- 2.实际开发中,可以让UI把图片设计好,交给后台转成二进制然后直接发给客户端即可,这里我没有服务器环境,所以我就手动拼接了一个本地的二进制
“`objc
//返回索引栏数组
- (NSArray