在 Swift 中将 MPMoviePlayerController 正确放置在 UIView 中

Properly place MPMoviePlayerController inside UIView in Swift

我正在尝试使用 MPMoviePlayerController 提供视频播放。

我在 tableViewCell 中添加了一个 UIView,并向 UIView 添加了自动布局约束。现在,我想将 MPMoviePlayerController 添加到 UIView,使其与 UIView 的大小完全相同,并采用所有约束。

我的代码不工作。 (不幸的是我无法 post 一张图片)。我的 MPMoviePlayerController 没有与 UIView 正确对齐;它在左下方。我试图让它与 UIView 具有完全相同的框架和位置。

我的代码如下:

@IBOutlet weak var movieView: UIView! //connected via storyboard
var moviePlayer:MPMoviePlayerController!

override func awakeFromNib() {
    super.awakeFromNib()

    var videoURL:NSURL!
    moviePlayer = MPMoviePlayerController(contentURL: videoURL)
    moviePlayer.view.frame = movieView.bounds
    moviePlayer.view.center = movieView.center
    //moviePlayer.shouldAutoplay = true
    //moviePlayer.controlStyle = MPMovieControlStyle.Embedded
    //moviePlayer.scalingMode = MPMovieScalingMode.AspectFit
    movieView.addSubview(moviePlayer.view)
    moviePlayer.prepareToPlay()
}

我不确定是什么问题。我已经尝试了很多这样的方法,比如使用 CGRectMake 设置 moviePlayer 的帧,并设置缩放模式,您可以在代码中看到注释。

非常感谢任何帮助

我自己想出来了。

moviePlayer.view.frame = movieView.bounds
moviePlayer.view.center = CGPointMake(CGRectGetMidX(movieView.bounds), CGRectGetMidY(movieView.bounds))