使用自动布局 Xcode 居中
Posted
技术标签:
【中文标题】使用自动布局 Xcode 居中【英文标题】:Centering with Auto layout Xcode 【发布时间】:2014-08-01 22:51:29 【问题描述】:我正在开发一个 swift 应用程序,我正在 Xcode 的界面生成器中设计界面。我的界面(由两个 UILabel 组成,在纵向模式下看起来不错,但在横向模式下看起来很糟糕。
问题是标签在旋转时不会像我想要的那样保持居中。我使用了以下自动布局约束:
Upper edge constraint: top layout guide
Lower edge constraint: bottom layout guide
Right edge constraint: standard value
Left edge constraint: standard value
这些设置一定不起作用,因为标签在旋转时不会保持居中。用于自动布局以使此标签居中的正确约束是什么?
【问题讨论】:
【参考方案1】:您可以在界面生成器中实现所需的效果,我建议您使用程序化自动布局约束来实现。
[self.view addConstraint: [NSLayoutConstraint
constraintWithItem:self.view
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:"YOUR VIEW"
attribute:NSLayoutAttributeCenterX
multiplier:1
constant:0]];
上面的 NSLayoutAttributeCenterX 属性使“YOUR VIEW”水平居中。对于垂直居中布局,您可以通过将 self.view 和“YOUR VIEW”的属性属性更改为 NSLayoutAttributeCenterY 来实现。
【讨论】:
谢谢!几个问题 - 我可以同时在水平和垂直方向上设置代码中心吗?另外,我把上面的代码放在哪里?就在 IBoutlet 下,还是其他地方?对不起,我只是在学习 swift! 恐怕你不能像我知道的那样快。您需要为水平和垂直居中设置两次约束。代码应该放在 viewDidLoad 方法中。以上是关于使用自动布局 Xcode 居中的主要内容,如果未能解决你的问题,请参考以下文章