【问题标题】:Centering with Auto layout Xcode使用自动布局 Xcode 居中
【发布时间】:2023-03-18 22:32:02
【问题描述】:

我正在开发一个 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

这些设置一定不起作用,因为标签在旋转时不会保持居中。用于自动布局以使此标签居中的正确约束是什么?

【问题讨论】:

    标签: ios xcode swift uilabel autolayout


    【解决方案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 方法中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多