我的UICollectionView创建了一些自定义UIViews(称为NumberViews)
每个NumberView都有一个属性var text: UILabel!
,它是一个标签,应该在NumberView的中间生成。
我的工作是:
我在UIViewController
我在NumberViews
(1)工作得很好,但(2)没有。它在NumberView之外的某个奇怪的地方创建标签。
对于(2),我在NumberView的初始化中执行此操作:
var text: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
self.text = UILabel(frame: frame)
self.text.textAlignment = NSTextAlignment.center
self.text.text = "testing"
self.addSubview(self.text)
}
发生的事情是这样的:
______________ _
| | \
| ______ | |
NumberView --|--> | | | |
| |______| | |
| | |
Label --|----> testing | > ViewController
| | |
| | |
| | |
| | |
|______________| _/
如何将标签移动到NumberView的中间?
答案 0 :(得分:0)
您需要在numberView中添加布局锚点,将其设置为center.x和center.y,使其等于标签。
我现在不在我的Mac上,但你应该能够搜索代码来创建中心布局锚点。
快速搜索了这个网站:
http://useyourloaf.com/blog/pain-free-constraints-with-layout-anchors/
你想创建一个centerXAnchor和一个centerYAnchor