【发布时间】:2019-04-05 19:13:53
【问题描述】:
我有一个集合视图单元格,我想向它添加一个视图。 Apple 声明应将视图添加到contentView。这是那里的文档:
配置单元格时,您可以将代表单元格内容的任何自定义视图添加到此视图中。单元格对象将此视图中的内容放在任何背景视图的前面。
但是,我似乎也可以在 contentView 之外添加视图,并且没有警告或崩溃。这是我的代码。注意评论QUESTION——我想知道这样做是否可行:
class MyCollectionViewCell: UICollectionViewCell {
@IBOutlet private var imageView: UIImageView!
private let titleLabel = UILabel(frame: .zero)
override func awakeFromNib() {
super.awakeFromNib()
// QUESTION: Is this ok? Notice I am not adding the `titleLabel` to `self.contentView`
self.addSubview(titleLabel)
let horizontalCenterConstraint = NSLayoutConstraint(item: titleLabel, attribute: .centerX, relatedBy: .equal, toItem: self, attribute: .centerX, multiplier: 1.0, constant: 0)
let verticalCenterConstraint = NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: self, attribute: .centerY, multiplier: 1.0, constant: 0)
self.addConstraint(horizontalCenterConstraint)
self.addConstraint(verticalCenterConstraint)
}
}
在上面的代码中,我没有使用self.contentView.addSubview... 添加视图,而是简单地使用self.addSubview。这样可以吗?
【问题讨论】:
标签: ios swift uitableview uicollectionview uicollectionviewcell