我只在我的視圖中添加了一個標籤並添加了四個這樣的約束。 UIView總是有模糊的佈局
然後我穿着這代碼:
- (void)viewWillLayoutSubviews {
for (UIView *aView in [self.view subviews]) {
if ([aView hasAmbiguousLayout]) {
NSLog(@"View Frame %@", NSStringFromCGRect(aView.frame));
NSLog(@"%@", [aView class]);
NSLog(@"%@", [aView constraintsAffectingLayoutForAxis:1]);
NSLog(@"%@", [aView constraintsAffectingLayoutForAxis:0]);
[aView exerciseAmbiguityInLayout];
}
}
}
我認爲這不會有任何含糊的佈局,但我看到這些輸出。
2015-07-28 17:03:05.087 MyApp[1865:25321] View Frame {{8, 76}, {42, 21}}
2015-07-28 17:03:05.088 MyApp[1865:25321] UILabel
2015-07-28 17:03:05.088 MyApp[1865:25321] (
"<NSLayoutConstraint:0x7b445f20 V:|-(76)-[UILabel:0x7b449c70'Label'] (Names: '|':UIControl:0x7b449b00)>",
"<NSLayoutConstraint:0x7b449350 V:[UILabel:0x7b449c70'Label'(21)]>"
)
2015-07-28 17:03:05.088 MyApp[1865:25321] (
"<NSLayoutConstraint:0x7b443890 H:|-(8)-[UILabel:0x7b449c70'Label'] (Names: '|':UIControl:0x7b449b00)>",
"<NSLayoutConstraint:0x7b448de0 H:[UILabel:0x7b449c70'Label'(42)]>"
)
我安裝了iOS7.1和8.4模擬器,但那些輸出只出現在iOS8.4中。
有沒有我做錯了或只是一個錯誤?
感謝: - >)
如果有一個不明確的佈局,故事板會告訴你有關 –
這是否會導致實際問題或僅顯示這些警告?在我正在開發XCode 6的項目中,總是存在這種模糊的佈局警告。即使在我逐一糾正它們之後,它們仍會在一段時間後重新出現,但對我的UI無任何影響。我的建議是,如果他們沒有造成任何重大問題,就忽略它們。 – halileohalilei
@Varun Naharia我正在使用xib,而不是故事板,並且在編輯時沒有出現任何警告或錯誤。 – GetToSet