如何在 iOS 8 和 Swift 中播放电影时旋转 MPMoviePlayer?
How do I rotate MPMoviePlayer as the movie is playing in iOS 8 with Swift?
我想提出并回答我自己的问题,以防其他人发现它有帮助。
使用
,moviePlayer 将开始按预期正常播放
moviePlayer.view.frame = self.view.bounds
但是,当在电影中间旋转时,tabBar 会旋转,但 moviePlayer 不会。这将裁剪电影屏幕的一部分,或者它不会像最初预期的那样改变以填满整个屏幕。
在 func viewDidLoad() 中添加此通知服务:
NSNotificationCenter.defaultCenter() .addObserver(self, selector: "movieOrientationChanged", name: UIDeviceOrientationDidChangeNotification, object: nil)
并且,这是响应该通知的方法(moviePlayer 是一个 class MPMoviePlayerController 类型的变量):
func movieOrientationChanged() {
moviePlayer!.view.frame = self.view.bounds
}
for swift 4 在viewDidLoad中添加这段代码
NotificationCenter.default .addObserver(self, selector: #selector(VideoViewViewController.movieOrientationChanged), name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)
我想提出并回答我自己的问题,以防其他人发现它有帮助。
使用
,moviePlayer 将开始按预期正常播放moviePlayer.view.frame = self.view.bounds
但是,当在电影中间旋转时,tabBar 会旋转,但 moviePlayer 不会。这将裁剪电影屏幕的一部分,或者它不会像最初预期的那样改变以填满整个屏幕。
在 func viewDidLoad() 中添加此通知服务:
NSNotificationCenter.defaultCenter() .addObserver(self, selector: "movieOrientationChanged", name: UIDeviceOrientationDidChangeNotification, object: nil)
并且,这是响应该通知的方法(moviePlayer 是一个 class MPMoviePlayerController 类型的变量):
func movieOrientationChanged() {
moviePlayer!.view.frame = self.view.bounds
}
for swift 4 在viewDidLoad中添加这段代码
NotificationCenter.default .addObserver(self, selector: #selector(VideoViewViewController.movieOrientationChanged), name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)