swift - View里面的View吃了同样的位置

标签 swift avplayer

Here is my simulator

这是我的代码:

player = AVPlayer(URL: url!)

        layer.player = self.player

        layer.frame = CGRectMake(self.videoView.frame.origin.x, self.videoView.frame.origin.y, self.videoView.frame.width, self.videoView.frame.height)

        print(self.videoView.frame.origin.x) //67
        print(self.videoView.frame.origin.y) //37

        layer.backgroundColor = UIColor.clearColor().CGColor
        layer.videoGravity = AVLayerVideoGravityResizeAspectFill

        self.videoView.layer.addSublayer(layer)

        player.play()

视频 View 是我 Storyboard上的绿色 View ,我想将视频放在绿色 View 的同一位置

最佳答案

更改以下行

layer.frame = CGRectMake(0, 0, self.videoView.frame.width, self.videoView.frame.height)

将原点设为 0,0 将解决您的问题。请记住原点基于 SUPERview 的左上角。所以 avPlayer.frame 必须与 videoFrame 的帧不同,因为它们有不同的 super View 。

关于swift - View里面的View吃了同样的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36924802/

相关文章:

ios - 如何使用Swift Concurrency加载AVQueuePlayer?

ios - 图像未显示在场景中

ios - 编译器无法对这个表达式 swift 4 进行类型检查?

ios - 在 Xcode 11 中通过 FaSTLane 构建 SPM 包不起作用

iOS Swift 无法关闭 avplayer 模式

ios - AVPlayer 播放准确的时间

ios - searchController 过滤时的多项选择

swift - iOS 13 Beta - 相机捕捉以错误的方向保存照片

ios - 视频未在 AVPlayer 中播放

ios - MPMoviePlayerController 已弃用,现在怎么办?