Как анализировать предупреждение - Невозможно одновременно удовлетворить ограничения - Автомакет iOS

Кто-нибудь, пожалуйста, объясните, как мы можем проанализировать следующее предупреждение, связанное с ограничениями автомакета в iOS7.

Вероятно, по крайней мере одно из ограничений в следующем списке вам не нужно. Попробуй это:

  1. посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете;
  2. найдите код, который добавил нежелательное ограничение или ограничения, и исправьте его. (Примечание. Если вы видите NSAutoresizingMaskLayoutConstraints, которые не понимаете, обратитесь к документации по свойству UIView translatesAutoresizingMaskIntoConstraints.)

(

"< NSLayoutConstraint:0xd9e9920 V:[UIView:0x1e775630(24)]>",
"< NSLayoutConstraint:0x1e7af840 V:|-(568)-[UIView:0x1e775630]   (Names: '|':UIView:0x1e72f480 )>",
"< NSLayoutConstraint:0x150a8cc0 V:[UIView:0x1e775630]-(0)-[UIView:0x1508ebd0]>",
"< NSLayoutConstraint:0x1509f680 V:[UIView:0x1508ebd0]-(0)-|   (Names: '|':UIView:0x1e72f480 )>",
"< NSAutoresizingMaskLayoutConstraint:0x2491e4c0 h=--& v=--& V:[UIView:0x1e72f480(568)]>"
)
Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0xd9e9920 V:[UIView:0x1e775630(24)]>

Заранее спасибо.


person Vinuraj    schedule 10.04.2014    source источник


Ответы (1)


Это может быть любая из следующих проблем.

  • Если вы используете Autolayout программно, вам необходимо отключить AutoresizingMask. Это может быть проблемой.

[представление setTranslatesAutoresizingMaskIntoConstraints: НЕТ];

OR

  • Другими словами, вы добавили одно дополнительное ограничение для вашего представления. Таким образом, он не может удовлетворить все ограничения для вашего представления. Итак, это проблема.

NSLayoutConstraint: 0xd9e9920 В: [UIView: 0x1e775630 (24)]

Вам нужно удалить вертикальное ограничение, которое имеет значение 24 для вашего вида.

person Raj Subbiah    schedule 10.04.2014