添加子视图在ad-hoc分发中的行为不同
-
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
通常,vs优化级别 0
用于调试)。
你不是在设置 http.progressView.view
这很可能导致问题。将其设置为 applicationFrame
窗户的 UIScreen
:
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;
不隶属于 StackOverflow