2017-08-16 17 views
2

iOS 9からiOS 11へのアプリをiOS 9のターゲットでアップデートしています。これは、ナビゲーションバーが含まれていると、すべてのセグのアニメーションで発生します。UINavigationControllerトランジションがiOS 11のオフセットを使って上向きにアニメーション化されないようにしますか?

アニメーションは、アニメーションを終了するまでに、アニメーションを開始する高さよりも小さなオフセットで開始し、その後、適切な高さに移動します。

私はナビゲーションコントローラに特別なことはしていませんし、アプリ内でそれぞれのことが起こります。プログラムでナビゲーションバーを非表示にすると、トランジションが正常にアニメートされます。

答えて

0

iOS11ではトップ/ボトムレイアウトガイドは廃止されましたが、問題はこれに関連していると思います。だからあなたは私が思う制約を変えることができます。

続きを読むhere

5

UINavigationControllerのtableView.contentInsetAdjustmentBehavior.neverを設定することで問題が解決されます。

編集:実際にはより良い解決策ではなくTableViewControllerため不透明バーの下オプションを活性化することです。

そうしないと、縦スクロールバーが横向きモードのiPhone Xノッチの後ろに表示されます。私は不透明なバーを使用していたので、これは私のために働いた。半透明のバーを使うとどうなるのか分かりません。

enter image description here


元溶液はApple Developer Forumsに王子によって記述されています。いくつかの研究の後

...私は今、私たちが使用している、automaticallyAdjustsScrollViewInsetsはiOSの11で非推奨されていることがわかります代わりにUIScrollViewのcontentInsetAdjustmentBehaviorビューを入力してください。 contentInsetAdjustmentBehaviorから.neverに設定し、UINavigationBarがビューの下にある透明領域である場合は、 'UINavigationController translation slide up issue'も発生しません。 (こうすることで、自動的にadjustAdjustsScrollViewInsetsを実行する新しい方法)

これはコードで行う必要があるため、これはストーリーボードのユーザーには適していません。

関連する問題