только начал изучать строитель IOS AutoLayout, интерфейс очень прямо вперед, но когда я пытаюсь архивировать то же самое по кодуAutoLayout, Невозможно одновременно удовлетворяют ограничениям
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(==2)-[_nextKeyboardButton]-(==2)-[_numPadButton]-(==2)-[_spaceButton]-(==2)-[_returnButton]-(==2)-|" options:0 metrics:0 views:NSDictionaryOfVariableBindings(_nextKeyboardButton,_numPadButton,_spaceButton,_returnButton)]];
это вызывает исключение,
Невозможно одновременно удовлетворить ограничения.
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)
(
"<NSLayoutConstraint:0x6000000966c0 H:|-(2)-[UIButton:0x7fe4f1d1c760'Next'] (Names: '|':UIInputView:0x7fe4f1f04d00)>",
"<NSLayoutConstraint:0x600000096710 H:[UIButton:0x7fe4f1d1c760'Next']-(2)-[UIButton:0x7fe4f1d1d1d0'123']>",
"<NSLayoutConstraint:0x600000096760 H:[UIButton:0x7fe4f1d1d1d0'123']-(2)-[UIButton:0x7fe4f1d1d6f0'Space']>",
"<NSLayoutConstraint:0x6000000967b0 H:[UIButton:0x7fe4f1d1d6f0'Space']-(2)-[UIButton:0x7fe4f1d1d8d0'Return']>",
"<NSLayoutConstraint:0x600000096800 H:[UIButton:0x7fe4f1d1d8d0'Return']-(2)-| (Names: '|':UIInputView:0x7fe4f1f04d00)>",
"<NSLayoutConstraint:0x600000096e40 'UIView-Encapsulated-Layout-Width' H:[UIInputView:0x7fe4f1f04d00(0)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000967b0 H:[UIButton:0x7fe4f1d1d6f0'Space']-(2)-[UIButton:0x7fe4f1d1d8d0'Return']>
Все 4 кнопки .translatesAutoresizingMaskIntoConstraints = NO;
Интересно, что не так? помощь очень ценится :)
FYI: Я работаю на iOS8 SDK
Кажется, это совершенно логичный набор ограничений. Я пробивал себе голову над чем-то подобным за последние несколько Дней. Btw, @Chamira Fernando есть ли другие ограничения ширины на кнопках? Внутренний размер контента и т. Д.? Вы пытались установить для параметра compressionResistancePriority или contentHuggingPriority значение high или low? Просто посмотрите, что произойдет? –
Причина неудачи ограничения, очевидно, вызвана шириной 'UIView-Encapsulated-Layout-Width' равной 0. Где находится' UIInputView'? –
Глупый я - я этого не видел (0). Я была такая же проблема. Это UIInputView, предоставляемый UIInputViewController - корневым представлением расширения клавиатуры (iOS8). Я не знаю, почему он хотел бы ширину 0, учитывая поведение по умолчанию (согласно документам), нужно придерживаться ширины экрана. –