【问题标题】:Contraints greyed-out in XcodeXcode 中的约束灰显
【发布时间】:2015-04-12 22:40:11
【问题描述】:

我正在尝试调试+理解自动布局约束,我注意到在使用 xcode 调试视图时(使用酷层的东西)我注意到视图中的一个元素上的约束看起来像这样

并且视图确实忽略了这些约束。

所有约束都具有相同的优先级 (1000),因为我想要它们。所有的约束都是通过界面生成器而不是通过代码进行的,并且在 IB 中没有警告或冲突。

但在运行时我确实看到了这个

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0x79684f10 V:[UIImageView:0x79686800(>=160)]>",
    "<NSLayoutConstraint:0x7968a310 V:[UIImageView:0x79686800]-(130.5)-|   (Names: '|':UIView:0x79686790 )>",
    "<NSLayoutConstraint:0x7968a340 V:|-(0)-[UIImageView:0x79686800]   (Names: '|':UIView:0x79686790 )>",
    "<NSLayoutConstraint:0x796997b0 'UIView-Encapsulated-Layout-Height' V:[CoverCell:0x79686570(192)]>",
    "<NSAutoresizingMaskLayoutConstraint:0x7969cd30 h=-&- v=-&- UIView:0x79686790.height == CoverCell:0x79686570.height>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x79684f10 V:[UIImageView:0x79686800(>=160)]>

所以从这里我了解到一些规则冲突,但我不知道如何阅读这个

&gt;=160 是 UIImageView 上的一条规则,因此它的高度至少为 160,而 130.5 是图像视图的底部填充(因此,当使用 systemLayoutSizeFittingSize:UILayoutFittingCompressedSize 时,高度不会为 0。所以对于整个单元格为160+130.5)

其余的错误我不明白。

约束有什么问题,为什么会在运行时而不是在 IB 中发生约束冲突?

【问题讨论】:

    标签: ios objective-c xcode autolayout constraints


    【解决方案1】:

    XCode 6 现在支持不同的布局。 Compact Width | 中存在此灰色约束。例如,任何高度 布局,但您当前正在编辑 任何宽度 |任何高度

    更详细: Storyboard View Elements Greyed Out

    【讨论】:

      【解决方案2】:

      这取决于。如果您不使用尺码等级,则灰色的是已移除的尺码等级。你需要第二次删除它们。不管听起来多么愚蠢。

      如果您使用尺码等级,则意味着您当前的尺码等级与灰色约束不同。 (不过第一种情况也是可以的……)

      在您的情况下,这似乎是第一种情况。您需要再次删除灰色约束。

      【讨论】:

        猜你喜欢
        • 2015-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-16
        • 2017-01-23
        • 1970-01-01
        • 2023-04-04
        • 2016-02-09
        相关资源
        最近更新 更多