固定幅のメインビュー上にサイドメニューを表示するUIPresentationController
があります。サイドメニューから、全画面モーダルビューを開くことができます。モーダルビューが解除されると、解任アニメーション中にメニュービューが画面に表示されます(これは間違っています)。アニメーションの最後にcontainerViewWillLayoutSubviews
が呼び出され、メニューの幅が300に修正されます。UIPresentationControllerは、表示後までcontainerViewWillLayoutSubviewsを呼び出さない
frameOfPresentedViewInContainerView
を実装しています。私はshouldPresentInFullscreen
をメニュービューでNOに戻して実装しています(ただしこれは実際には何にも影響しません)。
containerViewWillLayoutSubviews
がディスムサルアニメーションの前に呼び出されないのはなぜですか?メニュービューの幅をカバーして公開したら、どのように維持する必要がありますか?
この質問は役に立ちます。http://stackoverflow.com/questions/32792202/uipresentationcontroller-changes-size-when-another-view-controller-is-displayed/33385472#33385472 – riadhluke
ありがとうございました! – ima747