标签:
苹果在iOS8.0 推出了item的预估行高功能,用于适应动态计算 item 的 size:
@property (nonatomic) CGSize estimatedItemSize NS_AVAILABLE_IOS(8_0); // defaults to CGSizeZero - setting a non-zero size enables cells that self-size via -preferredLayoutAttributesFittingAttributes:
使用 estimatedItemSize 需要在自定义的 item 中实现 -preferredLayoutAttributesFittingAttributes: 方法动态计算 item 的 size。
经测试在8.1,8.2系统下,如果项目中集成有其他第三方 SDK ,使用该方法只会会出现 libc++abi.dylib: terminate_handler unexpectedly threw an exception 错误,全局断点并不能定位到错误地方,如果没有使用第三方 SDK,会报这样的错误
重写流水布局,重写 layoutAttributesForElementsInRect: 方法,打印返回的布局属性,发现是空,找到原因,是在8.1,8.2系统中,使用预估行高时,自定义的 item 中的 -preferredLayoutAttributesFittingAttributes: 并没有被调用,这可能是系统的一个 bug。
iOS8.x UICollectionView 使用 item 的预估行高问题
标签:
原文地址:http://www.cnblogs.com/g-fly/p/5724401.html