サブビューの追加アドホック配布で異なる動作
-
13-12-2019 - |
質問
これは奇妙なものです。ここでは詳しく説明しないより複雑なアプリケーションがありますが、その機能の1つは、サーバーに接続されるたびにすべてのものの上に半透明の黒表示をオーバーレイすることです。
このビューをこのように追加します。
MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate;
[appDelegate.window addSubview:http.progressView.view];
.
シミュレータ上またはデバイス上で実行すると、すべてがうまく機能します。ブラックスクリーンは他のすべてのものをオーバーレイします。
Weirdの部分はこれです:私はアプリケーションをアーカイブし、.IPAファイルとしてパックしてからiTunes(またはTestFlight)を使って電話にインストールします。これを行うとき、いくつかの場所では、ブラックオーバーレイは、frame.origin.x
が10と同じように、約10ピクセルの画面の右上にオフセットされ、frame.origin.y
は-10です。
誰もが、アプリケーションを構築する際に何が異なるかを違うとは異なる振る舞いをすることができます。私は展開のためにそれを構築したときにもこれが起こらないことを恐れています。
解決
違いは、アーカイブ中のリリース設定で構築されることです(例えば、最適化レベルs
、通常、デバッグ用の最適化レベル0
)
問題を引き起こす可能性が高いhttp.progressView.view
のフレームを設定していません。ウィンドウのapplicationFrame
のUIScreen
になるように設定します。
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;
. 所属していません StackOverflow