appena iniziato l'apprendimento iOS AutoLayout, Interface Builder molto semplice, ma quando cerco di archiviare la stessa cosa sul codiceAutoLayout, in grado di soddisfare contemporaneamente i vincoli
[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)]];
solleva un'eccezione,
Impossibile soddisfare contemporaneamente i vincoli.
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']>
Tutti 4 tasti .translatesAutoresizingMaskIntoConstraints = NO;
Mi chiedo cosa c'è che non va? aiuto è molto apprezzato :)
FYI: Io lavoro su iOS 8 SDK
Sembra una serie di vincoli perfettamente logica. Mi sono battuto la testa per qualcosa di simile negli ultimi pochi GIORNI. Btw, @Chamira Fernando ci sono altri vincoli di larghezza sui pulsanti? Dimensioni del contenuto intrinseco ecc.? Hai provato a impostare compressionResistancePriority o contentHuggingPriority su valori alti o bassi? Vedi cosa succede? –
Il motivo dell'errore di vincolo è ovviamente causato dalla larghezza di 'UIView-Encapsulated-Layout-Width' pari a 0. Dove si trova' UIInputView'? –
Silly me - Non l'ho visto (0). Ho avuto lo stesso problema. È un UIInputView fornito da un UIInputViewController - vista root di un'estensione Keyboard (iOS8). Non so perché vorrebbe una larghezza di 0, considerando il comportamento predefinito (secondo i documenti) dovrebbe essere quello di attenersi alla larghezza dello schermo. –