【问题标题】:NSLayoutConstrain - Will attempt to recover by breaking constraint - Programmatically Creating Constraints [duplicate]NSLayoutConstrain - 将尝试通过打破约束来恢复 - 以编程方式创建约束 [重复]
【发布时间】:2016-06-02 19:10:55
【问题描述】:

它运行良好,除了我收到此错误外没有任何问题。

下面是我的代码。

NSDictionary *views = @{@"container":self.containerView,
                        @"head":self.headImageView,
                        @"userName":self.userNameLabel,
                        @"userTitle":self.userTitleLabel,
                        @"line":self.infoSeparatorLine,
                        @"articleTitle":self.articleTitleLabel
                        };

float headWidthAndHeight = 50;
NSDictionary *metrics = @{@"headWH":@(headWidthAndHeight),
                        @"userLabelWH":@(headWidthAndHeight/2),
                        };

[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[container]|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[container]|" options:0 metrics:nil views:views]];


[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[head(headWH)]-5-[userName]-15-|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[head(headWH)]-5-[userTitle]-15-|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[line]|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[articleTitle]-15-|" options:0 metrics:metrics views:views]];


[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[head(headWH)]-0-[line(1)]-8-[articleTitle]|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[userName(userLabelWH)]-0-[userTitle(userLabelWH)]" options:0 metrics:metrics views:views]];

以下是我在调试区收到的错误信息。

我该如何解决?

【问题讨论】:

  • 考虑到已经回答了几个类似的问题(如this),这个问题不太可能得到回答,而且这个问题仅适用于您的具体问题。我建议你尝试我提到的答案,一旦你得到它的工作,随时回答你自己的问题。
  • @fpg1503 谢谢!!你救了我的命,改变优先级并解除警告

标签: ios objective-c autolayout nslayoutconstraint visual-format-language


【解决方案1】:
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[head(headWH)]-0-[line(1)]-8@999-[articleTitle]|" options:0 metrics:metrics views:views]];

将优先级更改为低于 1000 以破坏约束。

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多