TWPageViewController 0.0.2

TWPageViewController 0.0.2

测试测试工具
语言语言 Obj-CObjective C
许可证 MIT
发布最新版本2016年8月

Easence 维护。



  • 作者:
  • Easence

一个支持懒加载的PageViewController,用于替换iOS系统的UIPageViewController。可以用来实现类似于腾讯新闻、今日头条的效果。

效果图1

TWPageViewController

  • TWPageViewController支持复用,以viewController的class做key,放入复用池,下回加载同类型的viewController则从复用池里面取来,每种类型的viewController会缓存一个。这样省去了开辟viewController的内存以及CPU的消耗。如果复用池没有相应类型的viewController则会创建一个。
  • TWPageViewController实现了懒加载,在滚动停止以后才会去加载viewController。这保证了快速滑动过程的流畅,同时也为用户节省流量。
  • 控制内存的增长,如果viewController的数目大于3,则内存中会保存3+N个viewController,3表示前面、当前、后面这三个viewController,N等于viewController类型的数目。
  • 与UIPageViewController触发子viewController的viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear的时机一致。
  • 提供了子viewController各个生命周期的回调,可以用来做数据的缓存、读取缓存。

TWPageTitleViewController

TWPageTitleViewController则只是简单容器,继承自UICollectionViewController,可以自定义cell的样式,以及自定义高亮条的样式。

已知可以优化的地方

  • TWPageTitleViewController高亮条的移动可以根据TWPageViewController的滑动平滑过渡过去。