1

アプリを iOS 7 用にアップグレードするのは大変です。UI は IB から構築されていますが、自動レイアウトは使用していません。

IB で、View Controller の Extend Edges ボックスのチェックを外しました。IB では、iOS 7 と iOS 6 ですべて正しく表示されます。

チェックされていないエッジを拡張:

IB エクステンド エッジ

ストーリーボードの外観:

IB ボタン ここに画像の説明を入力

セグメント化されたコントロールの色合い:

ここに画像の説明を入力

シミュレーターでは、ナビゲーション バーを不透明にしない限り、コンテンツは引き続きナビゲーション バーの背後に拡張されます。Extend Edges がチェックされていないという事実を無視しているようです。

シミュレーターの外観:

ここに画像の説明を入力 ここに画像の説明を入力

iOS 7 を実行している iPhone 5 では、コンテンツは navbar の下にも拡張されます。さらに、すべてのナビゲーション バー ボタンは iOS 6 の外観になっています。セグメント化されたコントロールも色合いを無視し、黒地に黒を表示しているようです。

iOS 7 を実行している iPhone 5 外観:

ここに画像の説明を入力 ここに画像の説明を入力

ここで何が起こっているのか、IB、シミュレータ、およびデバイスで iOS 7 の外観を一致させる方法を誰かが説明できますか?

4

1 に答える 1

3

私はこれに何日も費やし、私が見たさまざまなディスプレイに驚かされました. ボタンが正しく表示されなかっただけでなく、iOS 6 と 7 の間でシミュレーターの UIView フレームの寸法が異なっていました。また、シミュレーターと iOS 7 デバイスの間でフレームに違いが見られました。

私は別の問題を追跡していて、私の iOS デバイスが Xcode 5 の宛先メニューに 2 回表示されることに気付きました。Xcode に複数の iOS SDK がインストールされている場合に発生することがわかりました。iOS 6.1 SDK を Xcode 5 アプリケーションから削除したところ、すべての問題が解消されました。

毎回メニューから別のデバイスを選択したことに関係していないかどうかはわかりません. インストールされている SDK ごとに 1 つ表示されることを理解しています。名前が同じだったので、どれを選べばいいのかわかりませんでした。

繰り返しますが、これがすべての問題を引き起こしたかどうかはわかりませんが、今はありません。これにより、UI の異常を追跡する時間を大幅に節約できることを願っています。

于 2013-10-07T20:55:59.990 に答える