抖音demo适配了iphone、ipad,同时兼容iOS8.0至iOS12.0系统。当前抖音demo使用Swift语言编写,Object-C版本请点击这里。
本项目共分为三个部分。第一部分为抖音个人主页实现,包含NSOperationQueue多队列解析webp动图、网络资源二级缓存框架搭建。第二部分围绕AVPlayerLayer展开,涉及网络视频边播放边下载、UITableView控制多个视频源播放。第三部分则为WebSocket实现IM即时聊天,其中穿插文本计算、表情编辑等功能。三个部分都涉及网络请求、json数据模型转换以及手势、动画效果处理。
抖音demo使用说明文档地址请点击这里,文档结构如下所示:
- 2.1 布局、接口分析
- 2.2 UICollectionView指定元素固定原理
- 2.3 UICollectionView指定元素下拉缩放原理
- 2.4 谷歌libwebp库解析webp图片
- 2.5 网络资源二级缓存
- 3.1 布局、接口分析
- 3.2 AVPlayerLayer实现网络视频边下载边播放
- 3.3 UITableView实现视频源自动播放
- 3.4 悬浮于软键盘之上的UITextView
- 3.5 控件手势冲突处理
Qiao Shi, sqshiqiao@gmail.com