Ответ 1
Это может произойти, потому что вы изменили атрибут Mode в StackView:
Я получил это предупреждение, когда установил режим Aspect Fit.
Я начал создавать очень простую игру tic-tac-toe. Основная цель - сделать изображение пропорциональным всем размерам экрана всех устройств iOS. Поэтому я помещаю изображение в ViewController
, делаю его полным размером экрана, а затем помещаю его в Stack View. Я добавил ограничения для этого Stack View 0 со всех сторон. И когда я запускал симулятор, все выглядит хорошо. Но я получаю сообщение в панели консоли. Что это значит?
Это может произойти, потому что вы изменили атрибут Mode в StackView:
Я получил это предупреждение, когда установил режим Aspect Fit.
Любое изменение слоя в UIStackView
приведет к этому предупреждению. Как UIStackView
из предупреждения, UIStackView
- это слой с преобразованием, и он немного отличается от UIView
. Согласно документации:
UIStackView является неиндексирующим подклассом UIView; то есть он не предоставляет никакого пользовательского интерфейса. Вместо этого он просто управляет положением и размером своих упорядоченных представлений. В результате некоторые свойства (например, backgroundColor) не влияют на представление стека. Точно так же вы не можете переопределить layerClass, drawRect :, или drawLayer: inContext :.
Подробнее об этом здесь.
Он может не указывать на точный источник проблемы OP, но, надеюсь, он проливает свет на то, почему поведение UIStackView
не то же самое и его не следует путать с UIView
.
Похоже, что вы сделали совершенно правильно.
Тем не менее, мне интересно, почему вы решили поместить свое изображение в стеке, когда вы могли бы так же легко прикрепить стороны без стека. Я большой поклонник stackviews, но они не имеют смысла во всем мире. Если вы не планируете добавлять новые виды и не изменяете размер своей платы ticktactoe, я не могу ее использовать.
Для кого-то, кому это нужно: я установил clipToBounds
в false в StackView.
вы можете вставить представление стека в UIView и установить эти свойства для этого представления.