Мне нужно, чтобы кнопка была установлена в портретной ориентации, а другая кнопка была удалена в портретной ориентации (любая ширина, любая высота), а обратная должна происходить в альбомной ориентации (любая ширина, компактная высота). Одна из этих кнопок является частью UIStackView
, а другая — частью UIView
.
В книжной ориентации кнопка в UIStackView
должна быть установлена, а кнопка внутри UIView
должна быть удалена, причем обратное происходит, как я упоминал ранее в альбомной ориентации. В настоящее время я проверяю userInterfaceIdiom
в моем контроллере представления для раскадровки, но хотел бы полностью полагаться на Interface Builder
, если это возможно.
При удалении моего кода (который на самом деле заставляет его вести себя правильно) и просто полагаться на Interface Builder
для установки/удаления кнопок на основе size class
, кнопка, установленная для альбомной ориентации, всегда отображается правильно, но при повороте обратно в портретную, другая кнопка, которая теперь должен быть установлен, совершенно не на своем месте, из его исходного UIStackView
, и тот UIStackView
, в котором он должен был остаться, но не был, теперь расширен, чтобы заполнить недостающее место, где должна была быть эта кнопка. Когда это происходит, в журнале нет предупреждений или ошибок от UIKit
, и моя раскадровка не показывает конфликтов. Я совсем запутался!
На первый взгляд это кажется простым решением. Просто установите/снимите флажок установки для size classes
элемента пользовательского интерфейса. Хотя даже после прочтения документации и руководств Apple это оказалось более сложным и неясным, чем я ожидал.
Чтобы уточнить, я не установил ограничения для кнопки, установленной для портретной ориентации, поскольку она находится внутри UIStackView
. С другой стороны, у меня есть несколько ограничений, установленных для кнопки альбомной ориентации. Хотя кнопка в UIStackView
единственная, которая доставляет мне неприятности.
Отладчик представления не работает и в Xcode 7, и я получаю сообщение об ошибке: warning: could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available.
при попытке его использования.
Я считаю, что это может быть ошибка, связанная с этим сообщением: свойства UIStackView в соответствии с размерными классами < /а>
Ваша помощь очень ценится! Спасибо.