我正在尝试制作一个自定义 UICollectionView 单元类。该单元格由内容 View 和标签组成。我希望标签位于 View 的水平和垂直中心,但标签放置在内容 View 的中心 y 轴上方。
我已经确保设置了约束,没有设置其他约束,并且该问题影响内容 View 中的所有 View (我添加了另一个 View 并将其中心 Y 轴设置为测试,这也没用)。我还将内容 View 和标签的背景颜色设置为对比色,并确认标签没有位于内容 View 的中心 y anchor 上。
这是我设置约束的方法:
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
}()
希望对你有帮助
关于swift - Snapkit centerY 约束将项目置于中心 Y 轴上方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55856062/