Как использовать NSLayoutConstraint в iOS 6?

Мое приложение должно поддерживать оба разрешения iPhone (5 и старше) с использованием iOS 5 и iOS 6. Когда я использую автомакеты в IB, на iOS 5 приложение вылетает следующим образом: ссылка

Итак, я пытаюсь использовать NSLayoutConstraint в коде, но пока безуспешно.

Подвопросы:

  1. Я добавляю ограничения в методе viewDidLoad, но правильно ли это?
  2. Вызывает ли updateViewConstraints фреймворк? Я никогда не видел, чтобы его вызывали.
  3. Я пытался использовать примеры из документации Apple, но безрезультатно.

Кто-нибудь знает, как это сделать?

PS: я знаю, что это можно сделать вручную, установив фреймы, но я хотел бы использовать NSLayoutConstraints.

UDP: Да, я знаю, поэтому я использую NSLayoutConstraint в коде. Могу поставить условие для определения версии iOS. Вопрос про iOS6.


person Tesseract    schedule 02.10.2012    source источник


Ответы (1)


Функция AutoLayout совместима только с iOS6 и не поддерживается в iOS5. Таким образом, крах

Если вы хотите, чтобы ваше приложение было совместимо с iOS5, вы не можете использовать AutoLayout в своих файлах XIB.

Вы можете использовать только старые методы, такие как AutoResizingMask (которого в любом случае достаточно в большинстве случаев).

person AliSoftware    schedule 02.10.2012