我有一个带标签的容器视图,容器视图以编程方式添加到superview的下半部分,其大小超过superview的一半 . 我正在设置这样的大小:
testView.frame.size = CGSize(width: view.bounds.width, height: view.bounds.height / 2)
(橙色方块是containerView,那就是我想放置标签的位置 - 在容器视图的中心)
这样它的大小只有superview的一半 . 现在,我想以编程方式将标签放置在容器视图的正中央 . 实际上它应该用CGAffineTransform动画并移动到中心,但为了我的问题它并不重要 .
我尝试了几件事,但即使像self.testView.midX / midY这样的简单解决方案也无效 . 它没有居中或标签放在容器外的某个地方 .
我试图获得视图的宽度和高度:
let timerViewWidth = self.timerView.bounds.width
let timerViewHeight = self.timerView.bounds.height
并将两者除以得到testView的确切中心,但是当我使用这些值时,标签也放在其他地方 .
如何在容器视图中以编程方式居中标签?
1 回答
只需使用autolayout将
UILabel
添加到容器视图(我将其称为containerView) .如果您不想使用Autolayout,请执行@DonMag建议的操作
还要确保将testView添加为
containerView
的子视图,而不是其他视图...