iOS Swift:让UILabel始终以UIView为中心,改变身高

时间:2015-03-04 14:14:15

标签: swift uiview height center

我在UIView中心有一个UILabel,它根据设备的屏幕大小进行扩展/收缩。我已经应用了约束,因此无论UIView大小如何,UILabel都会保持居中,这样可以正常工作。

现在我发现自己手动调整UIView的大小(其中mainView是View Controller):

self.myView.frame = CGRectMake(0,0,self.mainView.frame.width, self.mainView.frame.height)

所以这会拉伸UIView来填充整个屏幕/视图控制器(它也是动画的)。我假设UILabel会继续自动居中,但它似乎将自己固定在UIView的顶部,在它下面留下了很多空的myView空间。

我怎么能告诉UILabel留在它所在的高度变化的UIView的中心?

1 个答案:

答案 0 :(得分:1)

我们需要看到你的约束来帮助,但是:

  1. 您需要使用居中约束。
  2. 设置边界,而不是myView的框架。
  3. 您可能需要在
  4. 所在的ViewController视图上调用setNeedsLayout

    此外,设置UILabel的背景颜色 - 它可以居中,但文本不在其中心。为此,请设置对齐属性。