我想确定特定控制器的方向。
我尝试了多次,但无法修复。我在appdelegate方法(supportedInterfaceOrientationsFor)中修复了控制器方向,但警报消息方向的原因无法正常运行,然后正常运行。我的意思是,它适用于所有类型方向。
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
if !UIDevice.isIphone() {
let controller = (application.keyWindow?.rootViewController as? UINavigationController)?.visibleViewController
if controller is LiveStreamViewController || controller is VideoStreamingViewController {
return .portrait
} else {
return .all
}
} else {
return .portrait
}
}
答案 0 :(得分:0)
通过实现application(_:supportedInterfaceOrientationsFor:)
不能确定“特定控制器”的方向。它是通过实现supportedInterfaceOrientations
在特定控制器中确定的。即使这样,除非您的视图控制器位于最高位置,否则也不会查询该值。
答案 1 :(得分:0)
警告视图已根据Orientation
进行了腐烂,但如果不起作用,请尝试使用以下代码
func didPresent(_ alertView: UIAlertView) {
// UIAlertView in landscape mode for specific controller?
UIView.beginAnimations("", context: nil)
UIView.setAnimationDuration(0.1)
alertView.transform = alertView.transform.rotated(by: 3.14159 / 2)
UIView.commitAnimations()
}