gpt4 book ai didi

ios - 如何在 Swift 中以编程方式更改 UICollectionViewCell 大小?

转载 作者:行者123 更新时间:2023-11-29 05:47:19 26 4
gpt4 key购买 nike

我有一个带有分段控件UICollectionView来在数据之间切换。但是如何以编程方式更改 UICollectionViewCell 大小属性?然后我可以为每种数据类型适本地自定义每种样式。

例如将宽度更改为 520 点,高度更改为 100。我是 iOS 开发新手,对 CSS 很有经验:/

我知道如何在 Xcode 中执行此操作(显然),但不知道在 swift 中更改它的正确方法。非常感谢任何想法或反馈 (Y)

enter image description here

最佳答案

确保您的类符合 UICollectionViewDelegateFlowLayout(对于 swift4)

eg. class MyClass: UICollectionViewDelegateFlowLayout

Swift 3 之前

//Use for size
func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

}
//Use for interspacing
func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
return 1.0
}

func collectionView(collectionView: UICollectionView, layout
collectionViewLayout: UICollectionViewLayout,
minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
return 1.0
}

//对于 swift 3

func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize {

}

func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 1.0
}

func collectionView(_ collectionView: UICollectionView, layout
collectionViewLayout: UICollectionViewLayout,
minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 1.0
}

//对于 swift 4

extension MyClass: UICollectionViewDelegateFlowLayout { 
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize {

}

func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 1.0
}

func collectionView(_ collectionView: UICollectionView, layout
collectionViewLayout: UICollectionViewLayout,
minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 1.0
}
}

对 swift 3 使用与上面所示相同的代码,但确保你的类符合协议(protocol) UICollectionViewDelegateFlowLayout

关于ios - 如何在 Swift 中以编程方式更改 UICollectionViewCell 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56016840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com