繁体   English   中英

横向,半视角。 迅速

[英]Landscape orientation, half view. Swift

我的应用在纵向方向上运行良好,但是当我转到横向模式时,我看到了白色方形槽的一半视图。

http://screenshot.cz/22XZB/sss.png

有什么问题?

电影播放器​​代码

    moviePlayer = MPMoviePlayerController(contentURL: stream)
    moviePlayer.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
    moviePlayer.view.sizeToFit()
    self.view.addSubview(moviePlayer.view)
    moviePlayer.fullscreen = true
    moviePlayer.controlStyle = MPMovieControlStyle.Embedded
}

当其moviePlayer视图的边界发生变化时,您需要调整moviePlayer大小。

一种解决方案是移动此行:

moviePlayer.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)

进入viewWillLayoutSubviews (如果这是视图控制器子类)或layoutSubviews (如果这是视图子类)。

另一种是使用自动布局而不是手动布局。

由于您没有使用autolayout ,因此必须在定向完成后更新视图的框架,为此您可以使用方法

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {

}

每次更改方向后都会调用此方法,您可以在此处根据需要更新或设置视域。

另一种方法是使用自动布局,它非常有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM