仅在 landscapeLeft 和 landscapeRight 之间旋转
Rotate only between landscapeLeft and landscapeRight
我有横向模式播放的视频。当设备方向改变时,视图只会在 landscapeLeft 和 landscapeRight 之间旋转。也就是说播放电影时没有人像模式。更何况除了电影视图,其他视图都是纵向模式,所以应用程序配置是纵向的。我怎样才能让电影视图只在横向模式下旋转。
这是我的部分代码。
appdelegate,
internal var shouldRotate = false
func application(_ application: UIApplication,
supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return shouldRotate ? .allButUpsideDown : .portrait
}
电影视图控制器,
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.shouldRotate = true // or false to disable rotation
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
目前的问题是当方向改变时电影视图可能是纵向的。
将.allButUpsideDown
更改为.landscape
func application(_ application: UIApplication,
supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return shouldRotate ? .landscape : .portrait
}
我有横向模式播放的视频。当设备方向改变时,视图只会在 landscapeLeft 和 landscapeRight 之间旋转。也就是说播放电影时没有人像模式。更何况除了电影视图,其他视图都是纵向模式,所以应用程序配置是纵向的。我怎样才能让电影视图只在横向模式下旋转。
这是我的部分代码。
appdelegate,
internal var shouldRotate = false
func application(_ application: UIApplication,
supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return shouldRotate ? .allButUpsideDown : .portrait
}
电影视图控制器,
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.shouldRotate = true // or false to disable rotation
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
目前的问题是当方向改变时电影视图可能是纵向的。
将.allButUpsideDown
更改为.landscape
func application(_ application: UIApplication,
supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return shouldRotate ? .landscape : .portrait
}