我在Xcode 8 + Swift 3项目的collectionView和collectionViewLayout上遇到一些问题。
似乎有些方法完全消失了。
例如,当我将UICollectionViewFlowLayout子类化时:
override func layoutAttributesClass() -> AnyClass
Run Code Online (Sandbox Code Playgroud)
这会触发xcode错误:
Method does not override Any Method from his superclass
Run Code Online (Sandbox Code Playgroud)
该方法的文档:https : //developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionViewLayout_class/index.html#//apple_ref/occ/clm/UICollectionViewLayout/layoutAttributesClass
不确定是否与Xcode 8有关,因为我已经在Xcode 7和swift 2.3上出现了collectionView的奇怪问题,例如,在xcode上未检测到itemSizeAtIndexPath方法,但是如果我将该方法放在collectionViewController中,即使没有关键字重写也可以调用它。
在Swift 3中,它是(class)属性而不是方法:
override class var layoutAttributesClass: AnyClass {
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |