Почему симулятор использует класс размера, в котором я оставил конструктор интерфейса только для некоторых конкретных элементов? - PullRequest
0 голосов
/ 02 января 2019

У меня есть классы размера, определенные для iPad и iPhone.Я использую Xcode 10.1 с последней версией Swift 4.2 на Mojave 10.14.1.Я тестировал симуляторы iOS 11.0.1 и 12.1, но без разницы.

Если я использую устройство iPhone в конструкторе интерфейсов, а затем запускаю на iPad, он будет отображать сетку с использованием класса размера iPhone, несмотря на то, чтоуже определенный размер для iPad.Это приводит к предупреждению об ограничениях в консоли.Класс размера iPad (R, R) имеет ширину / высоту, определенную в 100, но консоль заявляет, что активное ограничение равно 60, что является значением по умолчанию.Почему игнорируется класс размера?

enter image description here

Если я использую устройство iPad в конструкторе интерфейсов, а затем запускаю на iPad, на нем отобразитсясетка правильно, используя класс размера iPad.Нет предупреждений об ограничениях.

Если я использую устройство iPad в конструкторе интерфейсов, а затем запускаю на iPhone, он будет отображать сетку с использованием класса размера iPad, несмотря на то, что для iPhone уже задан размер.Это приводит к предупреждению об ограничениях в консоли.Класс размера iPhone по умолчанию имеет ширину / высоту по умолчанию, равную 60, и консоль заявляет, что активное ограничение равно 60, и нарушит его, чтобы использовать iPad размером 100. Почему он использует 100, когда это даже не правильный размер класса?

enter image description here

Если я использую устройство iPhone в конструкторе интерфейсов, а затем запускаю на iPhone, он правильно отображает сетку, используя класс размера iPhone.Нет предупреждений об ограничениях.

Хуже всего то, что существуют другие элементы, также определенные классами размеров, за исключением тех, которые не затронуты;только эти кнопки.

Так выглядят настройки для задействованных кнопок.

enter image description here

Я даже пытался добавить повторяющиеся значения для iPhoneно без разницыОни игнорируются, и он использует класс iPad (R, R), если я оставляю конструктор интерфейса с устройством iPad.

enter image description here

Я могу воспроизвестиТе же недопустимые сценарии на моем iPhone, так что, похоже, это не просто симуляторы.Я не использую какой-либо программный код вообще.Я удалил производные данные, сбросил симуляторы, закрыл / заново открыл Xcode, очистил папку сборки, удалил / повторно добавил ограничения, но без разницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...