Как предотвратить изменение размера Safe Area в соответствии с изображением? - PullRequest
0 голосов
/ 02 апреля 2020

В Интерфейсном Разработчике у меня есть простое представление, которое содержит UIImageView и я пытаюсь ограничить ширину и высоту представления изображения. Я добавил ограничения несколькими способами, но всякий раз, когда я запускаю в симуляторе, представление изображения отображается некорректно, но всегда принимает размеры изображения PNG, размеры которого меньше, чем у устройства симулятора. Режим содержимого для представления изображения - «Масштабировать до заполнения». Я загружаю xib следующим образом:

VCMain *vc = [[VCMain alloc] initWithNibName:@"Main" bundle:nil];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc];
navController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
navControllermodalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:navController animated:YES completion:nil];

Я попытался ограничить представление изображения суперпредставлением и ограничить его безопасной областью, но ничего не изменилось. Независимо от того, какой выбор я выбрал, консольная печать показывает, что безопасная область всегда принимает размеры представления изображения (что странным образом принимает размеры файла png, даже если для параметра установлено значение Масштабировать до заполнения).

I также проверил назначение изображения больше размеров симулятора (используя iPhone Xs кстати) и меньше. На фотографиях ниже вы можете видеть, что изображение не соответствует ограничениям.

Что я делаю не так? И почему Безопасная зона соответствует скорее размеру изображения? Ниже приведены фотографии IB, которые показывают настройки, а затем фотографии, показывающие, как симулятор рендерит вещи.

settings in IB

Когда я использую изображение меньше, чем устройство Simulator Размеры я получаю так:

and though you can't see, the Safe Area dimensions are {{0, 0}, {320, 480}}, exactly the size of the PNG.

When I use a version of the image much larger than the Simulator device's dims I get:

и снова размеры Безопасной области в точности соответствуют размеру PNG, в данном случае {{0, 0}, {2133, 2789}}, даже несмотря на то, что основной вид там имеет затемнения { {0, 0}, {375, 812}}

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