我有2 UILabel在UIView里
[headerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[headerViewLabel]-[headerViewVersionLabel]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(headerViewVersionLabel, headerViewLabel)]];我很难让headerViewLabel占用更多的空间,然后是:

我希望“新”标签尽可能小,也就是sizeToFit,让“新事件”延伸得更远。
我该怎么做?
已解决:
多亏了马特,我增加了“新”的priorityHugging:
[headerViewVersionLabel setContentHuggingPriority:251 forAxis:UILayoutConstraintAxisHorizontal];就像一种魅力:

发布于 2014-03-27 18:35:14
首先,您忽略了谜题中的一个重要部分:除非您将New的左侧钉住,否则不会让它拉伸,这一点您忽略了。
第二,标签都已经在尝试(优先级较低)调整自己的大小,以适应其文本。对他们来说,这是不可能的,他们不可能被固定在两端和彼此之间。
解决办法是推动其中一个的横向拥抱优先级,使之比另一个更大。在您的例子中,New label需要更高的水平拥抱优先级;添加一点就可以了。将New标签保持在其默认的水平拥抱优先级(可能为250),并将New label设置为高一点(可能251)。
发布于 2014-03-27 18:27:01
我认为,如果你把新标签的理由改为正确,它就会做你想做的事。至少对我来说,在界面构建器中设置它是可行的。
https://stackoverflow.com/questions/22696035
复制相似问题