Iphone 添加子视图在即席分发中的行为不同

Iphone 添加子视图在即席分发中的行为不同,iphone,ios,xcode,ipa,ad-hoc-distribution,Iphone,Ios,Xcode,Ipa,Ad Hoc Distribution,这个很奇怪。我有一个更复杂的应用程序,我将不在这里详述,但它的一个特点是,每次连接到服务器时,它都会在所有东西的顶部覆盖一个半透明的黑色视图 我添加这样的观点: MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate; [appDelegate.window addSubview:http.progressView.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时会有什么不同吗?这使得它的行为如此不同。我担心在为部署而构建时也不会发生这种情况。

不同之处在于,在归档期间,它将使用版本设置进行构建,例如,通常为优化级别s,而调试时为优化级别0

您没有设置可能导致问题的http.progressView.view的框架。将其设置为窗口UI屏幕的应用程序框架:


不同之处在于,它将在归档期间使用版本设置构建,例如,通常为s级优化,而调试时为0级优化

您没有设置可能导致问题的http.progressView.view的框架。将其设置为窗口UI屏幕的应用程序框架:


天啊!它实际上起了作用。我对解决这个问题的希望很低。谢谢大家!!!对于可能关心此事的人,下面是matt上面所说的代码翻译:在添加子视图之前添加以下代码:http.progressView.view.frame=appDelegate.window.screen.applicationFrame@尼可拉苏尔多-在我的回答中添加了这一点。天哪!它实际上起了作用。我对解决这个问题的希望很低。谢谢大家!!!对于可能关心此事的人,下面是matt上面所说的代码翻译:在添加子视图之前添加以下代码:http.progressView.view.frame=appDelegate.window.screen.applicationFrame@尼古拉苏尔多——在我的回答中补充了这一点。
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;