2

アプリをiOS7に移行中です。アプリ全体のすべてのビューには、下部に 44px の空きスペースがあり、下部のツールバーまたは何かのように見えますが、下部のツールバーを表示しようとしていません。このスペースは、下部にツールバーがあり、ツールバーがその真上に表示されるビューにも存在します。

示されている赤いスペースは、実際には黒いビューの背後にあるビューです。黒いビューのフレームをどのサイズに設定しても、赤いスペースが常に表示されます。また、plist でステータス バーを非表示にしているので、これがアーティファクトなのか、ナビゲーション バーと関係があるのか​​はわかりません。どちらも通常は 44 ピクセルの高さです。

移行ガイドを見ましたが、うまくいったものは見つかりませんでした。これを引き起こしている可能性のあるものと修正方法についてのアイデアはありますか?

更新: edgeForExtendedLayout = UIRectEdgeAll および extendedLayoutIncludesOpaqueBars = YES (NO も試しました) を設定しようとしましたが、効果はありませんでした。ナビゲーションコントローラーのサブビューを見ると、UIToolBar が非表示になっていることが示されていますが、自動レイアウトの制約があってもビューがサイズ変更を拒否する正確な領域にフレームが含まれていることが示されています。

更新 2: これは実際には ViewDeckController ( https://github.com/Inferis/ViewDeck ) と、それが中央のビュー境界を設定する方法に問題があります。

ここに画像の説明を入力

4

3 に答える 3

1

これは実際には、サード パーティ ライブラリ ViewDeckController ( https://github.com/Inferis/ViewDeck ) と、IIViewDeckControllerIntegrated の centerViewBounds を設定する方法に問題があります。IIViewDeckControllerContained に変更し、ビューのサイズが正しいことを確認した後、私はそれを理解することができました。

IIViewDeckController.m では、IIViewDeckControllerContained の場合と同様に、iOS7 の場合は self.referenceBounds を返すだけです。

于 2013-10-02T18:31:50.600 に答える
1

iOS 7 に移行する場合は、自動レイアウト制約を使用して下部レイアウト ガイドに固定する必要があります。ビューからBottom Layout ガイドへのドラッグを制御し、ポップアップ メニューから Vertical Space を選択します。

iOS 7 でフレームを使用するのは難しく、過去の方法です。

Auto Layoutは最初はわかりにくいですが、慣れるととても強力です。

于 2013-10-02T16:26:18.917 に答える