索引:
一、组件框架整体设计
二、组件中如何隐藏属性和方法
三、拖拽动效的算法优化
四、分页间距的算法优化(再次改造)
五、内存的优化
六、预下载和任务同步
七、屏幕旋转UI适配
一、组件框架整体设计
其实对于图片浏览器,开源项目也有不少,不管是代码上还是功能上没有一个能完整的满足笔者的需求。所以笔者索性做了一个,力图将粒度做小,功能做全,当然这需要一个漫长的过程,空闲时间笔者会持续迭代和优化。
目前采用的是UIViewController做为底,上层是一个横向滚动的UICollectionView,在UICollectionViewCell上面是UIScrollView,当然还包括主要显示图片、动画图片、裁剪显示前景图片等。
使用UICollectionView是为了利用苹果为我们做的复用机制,不需要专门去实现,不然逻辑代码太多,得不偿失;而缩放的效果依托于UIScrollView;采用UIViewController为底是为了更好的控制旋转屏幕时的UI适配,之前也是考虑更轻一点的UIView,但是它会受父视图的旋转影响,可能适配难度会翻几倍,而且使用UIViewController能更方便和优雅的实现图片浏览器的入场和出场动画。
作者:波儿菜
链接:https://www.jianshu.com/p/bff0c6d89814
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。