Swift UICollectionViewLayout,contentSize
Swift UICollectionViewLayout, whither contentSize
我正在将我的应用程序从 Obj-C 转换为 Swift。
我有这个 UICollectionViewLayout 的子类,它覆盖了 'prepareForLayout',它已重命名为 'prepare'。
到目前为止,一切都很好。
但是,在我的 obj-c 代码中,我有这一行:
self.contentSize = CGSizeMake(contentWidth, contentHeight+40);
其中 'self' 指的是自定义 UICollectionViewLayout。
现在,在Swift,当我尝试做
self.contentSize = CGSize(width: contentWidth, height: contentHeight+40)
我收到此错误声明
Value of type 'myCustomCollectionLayout' has no member 'contentSize'
我知道有类似 collectionViewContentSize 的东西,但它似乎不适合这里。
我希望你们中的任何人都可以建议我如何进行
contentSize 不是 UICollectionViewLayout 属性,它是 属性 on UICollectionView 或 UIScrollView.
collectionView?.contentSize = CGSize(width: contentWidth, height: contentHeight+40)
但是,为什么在 collectionview 布局中需要这个。您真的应该考虑覆盖 属性 collectionViewContentSize,这正是 contentSize 为 UIScrollView 所做的,
override var collectionViewContentSize: CGSize {
return CGSize(width: contentWidth, height: contentHeight+40)
}
我正在将我的应用程序从 Obj-C 转换为 Swift。
我有这个 UICollectionViewLayout 的子类,它覆盖了 'prepareForLayout',它已重命名为 'prepare'。 到目前为止,一切都很好。 但是,在我的 obj-c 代码中,我有这一行:
self.contentSize = CGSizeMake(contentWidth, contentHeight+40);
其中 'self' 指的是自定义 UICollectionViewLayout。
现在,在Swift,当我尝试做
self.contentSize = CGSize(width: contentWidth, height: contentHeight+40)
我收到此错误声明
Value of type 'myCustomCollectionLayout' has no member 'contentSize'
我知道有类似 collectionViewContentSize 的东西,但它似乎不适合这里。
我希望你们中的任何人都可以建议我如何进行
contentSize 不是 UICollectionViewLayout 属性,它是 属性 on UICollectionView 或 UIScrollView.
collectionView?.contentSize = CGSize(width: contentWidth, height: contentHeight+40)
但是,为什么在 collectionview 布局中需要这个。您真的应该考虑覆盖 属性 collectionViewContentSize,这正是 contentSize 为 UIScrollView 所做的,
override var collectionViewContentSize: CGSize {
return CGSize(width: contentWidth, height: contentHeight+40)
}