作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有分段控件
的UICollectionView
来在数据之间切换。但是如何以编程方式更改 UICollectionViewCell
大小属性?然后我可以为每种数据类型适本地自定义每种样式。
例如将宽度更改为 520 点,高度更改为 100。我是 iOS 开发新手,对 CSS 很有经验:/
我知道如何在 Xcode 中执行此操作(显然),但不知道在 swift 中更改它的正确方法。非常感谢任何想法或反馈 (Y)
最佳答案
确保您的类符合 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/
我是一名优秀的程序员,十分优秀!