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

时间:2015-02-27 00:12:13

标签: swift uiview autolayout frame mpmovieplayercontroller

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

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

我的代码无效。 (不幸的是我无法发布图片)。我的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的框架,并设置缩放模式,如您在代码中看到的那样。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

我自己已经弄清楚了。

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