代码之家  ›  专栏  ›  技术社区  ›  Sjakelien

Swift UICollectionViewLayout,内容大小

  •  0
  • Sjakelien  · 技术社区  · 7 年前

    我正在将我的应用程序从Obj-C转换为Swift。

    我有一个UICollectionViewLayout的子类,它重写了“prepareForLayout”,后者已重命名为“prepare”。 到目前为止还不错。 然而,在我的obj-c代码中,我有一行:

    self.contentSize = CGSizeMake(contentWidth, contentHeight+40);
    

    其中“self”指的是自定义UICollectionViewLayout。

    现在,在斯威夫特,当我尝试

    self.contentSize = CGSize(width: contentWidth, height: contentHeight+40)
    

    我在声明时遇到此错误

    “myCustomCollectionLayout”类型的值没有成员“contentSize”

    我确实知道 集合视图内容大小 但这在这里似乎并不合适。

    我希望你们中的任何人都能就如何进行向我提供建议

    1 回复  |  直到 7 年前
        1
  •  0
  •   Sandeep    7 年前

    内容大小 不是 UICollectionViewLayout 属性,它是上的属性 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) 
    }