【Swift】UIAlertController などの回転を抑制する
UIAlertView じゃなければ勝手に回転しないとか色々情報があったんですがどうしても動かなかったので試行錯誤してたらやっと動いた
ios - MPInlineVideoFullscreenViewController and AVFullScreenViewController first time comes in portrait mode - Stack Overflow
参考になりそうだったのだけど、Swift で書き換えたら window.rootViewController presentedViewController を取り出したところで nil が代入されて presentedViewController 代入処理の途中で落ちるという状態に....
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask { if window == nil { return [UIInterfaceOrientationMask.All] } let rv: UINavigationController = window!.rootViewController! as! UINavigationController let vc: UIViewController = rv.visibleViewController! if vc.isKindOfClass(UIAlertController) || vc.isKindOfClass(UIAlertView) { return [UIInterfaceOrientationMask.Portrait] } return [UIInterfaceOrientationMask.All] } |
とりあえずこうしたら、UIAlertController から回転させようとした時に [UIInterfaceOrientationMask.Portrait]
が返るようになったよ
疲れた
Comments