我正在尝试制作一个自定义的UICollectionView单元类。该单元格由内容视图和标签组成。我希望标签位于水平和垂直视图的中心,但标签应位于内容视图的中心y轴上方。
我确保设置了约束,未设置其他约束,并且问题影响了内容视图中的所有视图(我添加了另一个视图并将其中心Y轴设置为测试,并且没用)。我还将内容视图和标签的背景色设置为对比,并确认标签未位于内容视图的中心y锚点上。
这是我设置约束的方式:
label.snp.makeConstraints{make in
make.centerX.centerY.equalToSuperview()
}
这就是我得到的。显然,标签没有垂直居中。您可以看到我作为测试添加的蓝色UIView也不垂直居中。
答案 0 :(得分:0)
我曾经以这种方式通过编程方式添加约束
self.view.addSubview(image)
image.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
image.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
image.heightAnchor.constraint(equalToConstant: 30).isActive = true
image.widthAnchor.constraint(equalToConstant: 30).isActive = true
以这种方式声明我的图片
let image: UIImageView = {
let theImageView = UIImageView()
theImageView.image = UIImage(named: "ico_return")
theImageView.translatesAutoresizingMaskIntoConstraints = false
return theImageView
}()
希望有帮助
答案 1 :(得分:0)
您可以尝试以下代码吗?
class FilterCollectionViewCell: UICollectionViewCell {
let labelTemp = UILabel()
override func awakeFromNib() {
labelTemp.backgroundColor = .white
labelTemp.textColor = .black
labelTemp.text = "testing"
self.contentView.addSubview(labelTemp)
labelTemp.snp.makeConstraints { (make) in
make.centerX.centerY.equalTo(self.contentView)
}
}
}
答案 2 :(得分:0)
快速简便:
myLabel.snp.makeConstraints { (make) in
make.center.equalTo(self.topView.snp.center)
}