我正在尝试创建一个自定义的UICollectionView单元类。单元格由内容视图和标签组成。我希望标签位于视图的中心,水平和垂直,但标签位于内容视图的中心y轴上方。
我确保设置了约束,没有设置其他约束,并且问题影响了内容视图中的所有视图(我添加了另一个视图并将其中心Y轴设置为测试,而且也没有工作)。我还将内容视图和标签的背景颜色设置为对比,并确认标签不在内容视图的中心y锚点上。
以下是我设置约束的方法:
label.snp.makeConstraints{make in
make.centerX.centerY.equalToSuperview()
}
这是我得到的。显然,标签不是垂直居中的。你可以看到我作为测试添加的蓝色UIView也没有垂直居中。
我曾经以这种方式以编程方式添加我的约束
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
}()
希望能帮助到你
你能试试下面代码吗?
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)
}
}
}
快速简便:
myLabel.snp.makeConstraints { (make) in
make.center.equalTo(self.topView.snp.center)
}