Xcode после автоматической разметки не сообщает размеры представления после изменения размера - PullRequest
0 голосов
/ 15 апреля 2020

Добрый день, я борюсь с автоматическим представлением макета в iOS, когда он работает на более мелкой цели.

Я создал тестовый проект и использую раскадровку. Имеет 3 вида. Верхняя, средняя и нижняя. Все они связаны с приложением через отдельные выходы IB.

Представления создаются с автоматическим макетом и ограничениями, которые сообщают о правильности в Xcode и отображают представления, как и ожидалось в симуляторе. Вид сверху: stati c и имеет ограничение по высоте. Средний вид имеет X, y и задается через соотношение сторон и снова работает отлично.

Вид снизу составляет 8px от среднего вида и 8px от безопасного вида на 3 других размерах

Проблема заключается в получении размера вида снизу после запуска приложения.

Например, Запуск на iPhone 11 Max, нижний вид - 374 x 218. Если я запускаю его на симуляторе iPhone 8, вид, который вы ожидаете, был изменен, но границы сообщают то же самое, что и iPhone 11 Max, поэтому вместо 335 x 111 его отчет равен 374 x 218.

Это версия Obj C, но в Swift он сообщает то же самое.

  • (void) viewDidLoad {[super viewDidLoad];

    CGRect b = Bot.bounds; NSLog (@ "Bot =% .0f% .0f", b.size.height, b.size.width);

}, что приводит к 2020-04-15 11: 50: 31.956443 + 0100 viewtest [51661: 2280346] Bot = 218 374

Независимо от того, на каком симуляторе он работает одинаково.

Причина, по которой я спрашиваю это, состоит в том, что мне нужно поместить различные кнопки в представление в зависимости от размера представления, а также изменить размер JPG, чтобы соответствовать виду.

привет

Боб

...