AutoLayout жалуется на ограничения для 2 UITextFields без границ
Я пытаюсь создать свой вид входа в систему, который имеет только 2 TextFields и 2 кнопки. Я применяю свойство «Добавить отсутствующие ограничения», чтобы XCode применял соответствующие ограничения ко всем элементам в моем LoginViewController в раскадровке. Я ограничиваю свое приложение для запуска только в портретном режиме, поэтому я использую настройку "wCompact hRegular".
Всякий раз, когда я запускаю свое приложение и перехожу к своему LoginViewController с последующим переходом, мое приложение отображает только одно текстовое поле и отображает кучу ошибок в консоли, касающихся автоматического размещения.
Функциональность, которую я пытаюсь достичь, - это создать экран входа в систему, который напоминает новый экран входа в систему Parse. Это имеет два текстовых поля без границ и только нижнюю границу текстового поля имени пользователя, что позволяет отделить его от текстового поля пароля, например:
Итак, вот как выглядит мое приложение при запуске:
И это должно выглядеть так:
Вот ошибка, которая появляется в консоли:
2015-06-14 20:40:21.480 MyApp[71158:3600335] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<_UILayoutSupportConstraint:0x7f9ff3f6d260 V:[_UILayoutGuide:0x7f9ff3f7a140(20)]>",
"<_UILayoutSupportConstraint:0x7f9ff3f087a0 V:|-(0)-[_UILayoutGuide:0x7f9ff3f7a140] (Names: '|':UIView:0x7f9ff3f7a030 )>",
"<_UILayoutSupportConstraint:0x7f9ff3f24730 V:[_UILayoutGuide:0x7f9ff3f7a2a0(0)]>",
"<_UILayoutSupportConstraint:0x7f9ff3f71640 _UILayoutGuide:0x7f9ff3f7a2a0.bottom == UIView:0x7f9ff3f7a030.bottom>",
"<NSLayoutConstraint:0x7f9ff3f6b9e0 V:[UITextField:0x7f9ff3f782a0]-(NSSpace(8))-[UITextField:0x7f9ff3f7a3d0]>",
"<NSLayoutConstraint:0x7f9ff3f58a40 V:[UIButton:0x7f9ff3f7ab00'Login']-(331)-[_UILayoutGuide:0x7f9ff3f7a2a0]>",
"<NSLayoutConstraint:0x7f9ff3f28b60 V:[_UILayoutGuide:0x7f9ff3f7a140]-(237)-[UITextField:0x7f9ff3f782a0]>",
"<NSLayoutConstraint:0x7f9ff3f34180 V:[UIButton:0x7f9ff3f7ad20'I forgot my password']-(49)-[UIButton:0x7f9ff3f7ab00'Login']>",
"<NSLayoutConstraint:0x7f9ff3f341d0 V:[UITextField:0x7f9ff3f7a3d0]-(35)-[UIButton:0x7f9ff3f7ad20'I forgot my password']>",
"<NSLayoutConstraint:0x7f9ff3f29f90 V:[UITextField:0x7f9ff3f782a0(30)]>",
"<NSLayoutConstraint:0x7f9ff3f055a0 V:[UIButton:0x7f9ff3f7ad20'I forgot my password'(30)]>",
"<NSLayoutConstraint:0x7f9ff3f055f0 V:[UIButton:0x7f9ff3f7ab00'Login'(30)]>",
"<NSLayoutConstraint:0x7f9ff3cc3b80 'UIView-Encapsulated-Layout-Height' V:[UIView:0x7f9ff3f7a030(667)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7f9ff3f055f0 V:[UIButton:0x7f9ff3f7ab00'Login'(30)]>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
Кто-нибудь знает как это исправить и почему не работает? Я даже пытался вручную добавить все ограничения вручную, но это не сработало. Кроме того, если я задаю своим текстовым полям скругленные границы и делаю их немного меньше, чем полная ширина раскадровки, он делает то, что от него ожидается.
Спасибо за помощь заранее.
Ура!