2017-03-26 30 views
1

これらの質問から次のコードを使用して、回転アニメーションを無効にしました。これはiPhoneデバイスでは機能しますが、iPadsでは機能しません。iPhoneおよびiPadデバイスの回転アニメーションを無効にする方法

問題のビューコントローラは、モーダルに表示されているナビゲーションコントローラのルートビューコントローラです。

次の方法がiPhoneでは動作しますが、iPadでは動作しない理由は誰にも分かりますか?

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { 

    coordinator.animate(alongsideTransition: nil) { _ in UIView.setAnimationsEnabled(true) } 

    UIView.setAnimationsEnabled(false) 

    super.viewWillTransition(to: size, with: coordinator) 
} 

StackOverflowの質問

Disable orientation change rotation animation

In 7.3/9/2+ Swift how to disable rotation animation, when device rotates?

答えて

1

私のテストでは、iPhone用の回転アニメーションを無効にすることができますが、iPadになると、アニメーションはシステムによって処理され、それと対話する可能性はありません。

私は、現在のパブリックAPIを使ってiPadで回転アニメーションを無効にすることはできないと結論づけます。

0

画面のサイズが計算さの回転(又は有意ではない変化)で変更されていないため、それは動作しませんでした。 1つの画面の縦向きをオフにすると、この方法に問題がありました。私の修正は、通知を観察してデバイスの向きを捉えることでした。しかし、この場合、「回転した」状態にしかなりません。

関連する問題