1

iOS7と の使用には本当に奇妙な問題がStoryboardsありますios simulator

ストーリーボードで定義したビューのインターフェイス ビルダーのステータス バーに適応するようにiOS7設定して、古いプロジェクトを更新しようとしました。iOS 6/7 deltasこのビューは、プログラムで作成さUINavigationControllerれたルート ビューに設定されます。

これを行うと、iOS7 iPad シミュレーターは正しい UI を表示します - 私のビューはナビゲーション バーの下に表示されます - しかし、実際の iOS7 iPadでまったく同じコードを実行すると、ビューが 20 ピクセル低すぎます。実際、デルタで何も変更しないと、デバイスに表示されます。

ここで理解できないのは、この場合、シミュレーターとデバイスの動作が異なる理由です。誰かがこの同じ問題を経験しましたか? 私の他のプロジェクトでは、この問題はありません。そのため、この奇妙な動作につながるのは、ストーリーボードまたはその他の設定のいずれかだと思います。

アップデート:

興味深いことに、新しい MacBook にすべてを新たにインストールした後、問題はなくなりました (Xcode の最新の更新であった可能性もあります ...)。

4

1 に答える 1

1
    if( [self respondsToSelector:@selector(edgesForExtendedLayout)] ) {
  self.edgesForExtendedLayout = UIRectEdgeNone;
}

この修正をviewControllerに適用しました。このエラーが表示される ViewControllers のすべての viewDidLoad で。また、xib または Storyboard で設定したデルタを取り出す必要があります。この「修正」の最終結果は...シミュレーターとデバイスで、すべてが望みどおりに正しく正確に見えることです。(少なくとも私の場合はそうです)。xib またはストーリーボード ビューを「iOS 6.1 以前として表示」のままにしておくと、見栄えがよくなり、引き続き作業できます。この修正の唯一の問題は、アシスタント エディターを使用して xib またはストーリーボードを iOS 7 でどのように表示するかを確認すると、見栄えがよくないということです。それが役に立てば幸い。

于 2014-01-16T11:14:51.390 に答える