美文网首页iOS开发iOS Developer
WWDC16笔记:What's new in UICol

WWDC16笔记:What's new in UICol

作者: Hesse_Huang | 来源:发表于2016-06-22 14:30 被阅读621次

一、优化UICollectionViewCell的生命周期
在iOS9中, UICollectionViewCell在didEndDisplaying后即进入重用队列中;而在iOS10中,UICollectionViewCell在didEndDisplaying后,不会马上进入重用队列,而是再被引用一段时间,如果在进入重用队列前还需要被显示,此cell会willDisplayCellAtIndexPath.

二、新的UICollectionViewCell加载策略:Cell Pre-Fetching
在iOS9中, 即将显示具有多列数据的新的一行时,会一次性加载要显示的cells;而在iOS10中,会依次加载这些cells,并且加载的多寡会根据滑动速度而定。一旦用户停止了滑动,这些“因惯性而加载出来”的cell会unload掉。此策略解决了快速滑动下带来的掉帧问题。
Cell Pre-Fetching在iOS10中默认开启,关闭方法:

collectionView.isPrefetchingEnabled = false

提醒:
1.将计算量大的工作放在cellForItemAtIndexPath;
2.将计算量少的工作放在willDisplayCell/didEndDisplayingCell,因为这是cell要显示前最后能临时抱佛脚的地方了;
3.即使从cellForItemAtIndexPath返回了cell,这个cell也可能不会显示,如用户突然改变了滑动方向;

三、DataSource Pre-Fetching

Pre-Fetching in UICollectionView.png
Pre-Fetching in UITableView.png

第一个API可结合各类异步网络请求方法一起使用,不过该cancel时就该cancel(使用第二个API)。

提醒:
1.Pre-Fetching是一个“自适应能力”,即当线程忙时,调动Pre-Fetching就不会那么频繁了;
2.该cancel时就该cancel;

四、self-sizing cell
简化estimatedItemSize的计算,现在只需:

layout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize

五、interactive reordering
与pagingEnabled = true可以达到与Home Screen一样的体验。

六、UIRefreshControl
现在UIScrollView, UITableView, UICollectionView都可以直接使用UIRefreshControl了。

相关文章

  • WWDC16笔记:What's new in UICol

    一、优化UICollectionViewCell的生命周期在iOS9中, UICollectionViewCell...

  • What's new in Swift 4.0

    Hands-on code examples to help you learn what's new in Sw...

  • What's new in graphics and g

    本系列文章是对 http://metalkit.org 上面MetalKit内容的全面翻译和学习. MetalKi...

  • What's new in Xcode 9

    前言 WWDC过后, 苹果发布了一系列的Beta 版固件及工具,我们单表其一,看看Xcode 9中的新功能。如果你...

  • Swift 4.0 | What's new in it

    文 / 菲拉兔 要求: Platform: iOS8.0+ Language: Swift4.0 Editor: ...

  • What's new in Swift 3.1

    2017年3月27日,Apple官方发布了Swift 3.1。Swift 3.1 是一个小版本的更新,主要包含了包...

  • What's new in Xcode 8

    以下是苹果官方对Xcode 8新特性的描述,进行了一些翻译: Xcode 8 包含了你为iPhone、iPad、M...

  • What's New in iOS 11

    iOS 11.0 本文总结了iOS 11中推出的主要开发者相关功能,该功能在当前运行的iOS设备上运行。该文章还列...

  • What's New in Swift 3?

    备注:本文章是翻译,如果大家想看原文请点击链接,第一次翻译谢谢。 如果你还没有经常去GitHub上看Swift E...

  • 精读《What's new in javascript》

    1. 引言 本周精读的内容是:Google I/O 19。 2019 年 Google I/O 介绍了一些激动人心...

网友评论

    本文标题:WWDC16笔记:What's new in UICol

    本文链接:https://www.haomeiwen.com/subject/bufndttx.html