这个很奇怪。我有一个更复杂的应用程序,在这里我不会详细介绍,但它的一个特点是每次连接到服务器时,它都会在所有内容之上覆盖一个半透明的黑色 View 。
我这样添加 View :
MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate;
[appDelegate.window addSubview:http.progressView.view];
当我在模拟器或设备上运行它时,一切正常:黑屏按预期覆盖了其他所有内容。
奇怪的是:我将应用程序存档,将其打包为 .ipa 文件,然后使用 iTunes(或 TestFlight)将其安装在手机上。当我这样做时,在某些地方,黑色叠加层会偏移到屏幕右上角大约 10 个像素,例如 frame.origin.x 将是 10 和 frame。 origin.y 将为 -10。
有没有人知道在将应用程序构建为 .ipa 时可能会有什么不同,这使得它的行为如此不同。我担心当我为部署构建它时也不会发生这种情况。
Best Answer-推荐答案 strong>
不同之处在于它将在归档期间使用发布设置构建(例如,通常优化级别 s ,而优化级别 0 用于调试)。
您没有设置可能导致问题的 http.progressView.view 的框架。设置为窗口的UIScreen 的applicationFrame :
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;
关于iphone - 添加 subview 在临时分发中的行为不同,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9682161/
|