2

これは変なものです。ここでは詳しく説明しませんが、より複雑なアプリケーションがありますが、その機能の1つは、サーバーに接続するたびに、すべての上に半透明の黒いビューをオーバーレイすることです。

私はそのビューを次のように追加します:

MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate;
[appDelegate.window addSubview:http.progressView.view];

シミュレーターまたはデバイスで実行すると、すべてが正常に機能します。黒い画面が他のすべてを期待どおりにオーバーレイします。

奇妙な部分はこれです:私はアプリケーションをアーカイブし、それを.ipaファイルとしてパックしてから、itunes(またはTestFlight)を使用して電話にインストールします。これを行うと、場所によっては、黒いオーバーレイが画面の右上に約10ピクセルオフセットされます。たとえば、frame.origin.x10やframe.origin.y-10になります。

アプリケーションを.ipaとしてビルドすると、動作が大きく異なる可能性があることを誰かが知っていますか。デプロイ用にビルドするときにも、これが発生しないのではないかと心配しています。

4

1 に答える 1

4

違いは、アーカイブ中にリリース設定を使用してビルドされることです(たとえばs、通常の最適化レベル0とデバッグの最適化レベル)。

http.progressView.view問題を引き起こしている可能性のあるフレームを設定していません。applicationFrameウィンドウのUIScreen:に設定します。

http.progressView.view.frame = appDelegate.window.screen.applicationFrame;
于 2012-03-13T10:30:10.710 に答える