Добавление подпредставления ведет себя по-разному при специальном распределении.
-
13-12-2019 - |
Вопрос
Этот странный.У меня есть более сложное приложение, которое я не буду здесь подробно описывать, но одна из его особенностей заключается в том, что оно накладывает полупрозрачное черное изображение поверх всего при каждом подключении к серверу.
Я добавляю это представление следующим образом:
MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate;
[appDelegate.window addSubview:http.progressView.view];
Когда я запускаю его на симуляторе или на устройстве, все работает хорошо:черный экран перекрывает все остальное, как и ожидалось.
Самое странное заключается в следующем:Я архивирую приложение, упаковываю его в файл .ipa и затем устанавливаю на телефон с помощью itunes (или TestFlight).Когда я это делаю, в некоторых местах черное наложение смещено в правый верхний угол экрана примерно на 10 пикселей, как frame.origin.x
будет 10 и frame.origin.y
будет -10.
Кто-нибудь знает, что может отличаться при создании приложений в формате .ipa, из-за чего они ведут себя по-разному.Я боюсь, что этого не произойдет и тогда, когда я соберу его для развертывания.
Решение
Разница в том, что он будет создан с настройками выпуска во время архивирования (например,уровень оптимизации s
обычно против уровня оптимизации 0
для отладки).
Вы не устанавливаете рамки http.progressView.view
что, вероятно, вызывает проблемы.Установите это как applicationFrame
из окна UIScreen
:
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;