【发布时间】:2018-06-03 20:34:05
【问题描述】:
我有一个带有椭圆(带边框)和标签的自定义 UICollectionViewCell。单元格将根据标签的大小更改其大小。
为什么我的观点会扭曲?
目标
1. 在界面生成器中创建一个原型单元格,其子类为带有灰色边框的 UIView。它的顶部、底部、尾随和前导约束常数为 4。
2.我添加标签(不是上面解释的边框视图的子视图),顶部、底部、尾随和前导约束常数为 8。
3. 我添加了 collectionViewFlowLayout 的 IBOutlet,这样我就可以设置估计大小(这是用于调整单元格大小)。
collectionViewFLowLayout.estimatedItemSize =
UICollectionViewFlowLayoutAutomaticSize
4. 其余的都是样板,如符合 UICollectionViewDataSource
这是自定义视图类。
class CustomView: UIView {
override func awakeFromNib() {
super.awakeFromNib()
self.layer.borderColor = UIColor.lightGray.cgColor
self.layer.borderWidth = 1
self.layer.cornerRadius = self.frame.height / 2
self.clipsToBounds = true
}
}
【问题讨论】:
-
在带有顶部、底部、前导和尾随约束的视图内放置标签,并使视图的角半径 = 它的高度 /2
-
如何将角半径设置为标签?显示一些代码
-
@mayursinhzala 我只像这样设置视图子类的角半径:
self.layer.cornerRadius = self.frame.height / 2 -
@Sh_Khan 没有用。仍然变形。
-
你能分享那个视图的子类吗
标签: ios swift user-interface uicollectionview uicollectionviewcell