ここで最も重要な症状は、UI が標準解像度の iPhone に表示されている場合に予想されるスペースを正確に占めていることです。もう 1 つの重要な症状は、UILabels が色あせているように見えることです。これは多くの場合、特にラスタライズの場合、UILabel が画面の正しいスケールを受け取っていないことを示しています。
アプリ デリゲート (didFinishLaunchingWithOptions) でアプリを初期化するときに、UIWindow または UIWindow の rootViewController の境界を標準の iphone 解像度 (つまり 320x480) にハードコーディングしているかどうかを確認します。これらは、実際のポイントにハードコードするのではなく、[[UIScreen mainScreen] 境界] を使用して設定する必要があります。実際、画面のサイズをハードコーディングしたアプリ内の場所を探す必要があります。文字列「320」と「480」を検索してください。これらは、コードに表示されてはならない数字です。
もう 1 つの可能性は、いくつかのビューをラスタライズするように設定した (layer.shouldRasterize = YES) が、layer.rasterizationScale をメイン画面のスケール (すなわち [[UIScreen mainScreen] スケール]) に設定していないことです。 Retina コンテキストでは 2.0)。スケールを適切に設定していない場合、同じ種類の泥だらけの UILabel を見たことがあります。
あなたの投稿では、この変更は OS の更新後にのみ発生したと述べているため、これらはおそらく問題ではないことを認識していますが、念のために確認します。
更新: 考え直して、これらの境界をハード コーディングすることは悪い習慣であり、この問題を引き起こす可能性はありません。これは、iPhone の正しい論理境界であり、OS がユーザーに合わせてスケーリングするためです。したがって、これら 2 つの提案の間で、スケール関連のプロパティが正しく設定されていないことが原因である可能性が高くなります。もう 1 つの可能性は、UIView contentScaleFactor を使用していて、それを正しく設定していない場合です。