这个很奇怪。我有一个更复杂的应用程序,我不会在这里详细介绍,但它的一个特点是,每次连接到服务器时,它都会在所有东西的顶部复盖一个半透明的黑色视图。

我这样添加该视图:

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;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top