gpt4 book ai didi

ios - 为什么我的约束在 swift/storyboard 中不能正常工作?

转载 作者:行者123 更新时间:2023-11-28 08:27:29 26 4
gpt4 key购买 nike

我正在使用 player-swift(那个:https://github.com/piemonte/Player)在我的应用中显示视频内容。我创建了一个 UIViewController,在其中添加了一个 view 并为其分配了名为 PlayerView 的类。到目前为止一切顺利。

在我的代码中,我按如下方式启动它:

self.videoPlayer = Player()
self.videoPlayer.delegate = self
self.videoPlayer.view.frame = myVideo.bounds

self.addChildViewController(self.videoPlayer)
myVideo.addSubview(self.videoPlayer.view)
self.videoPlayer.didMoveToParentViewController(self)
let tapGestureRecognizer: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTapGestureRecognizer(_:)))
tapGestureRecognizer.numberOfTapsRequired = 1
self.videoPlayer.view.addGestureRecognizer(tapGestureRecognizer)

self.videoPlayer.fillMode = "AVLayerVideoGravityResizeAspectFill"

self.videoPlayer.setUrl(url)

self.videoPlayer.playFromBeginning()
self.videoPlayer.playbackLoops = true

现在,由于我正在播放的视频格式为 480x640(纵向模式),我考虑分配以下约束:

enter image description here

enter image description here

现在,当我在 iphone 6s plus 上打开它时,我看到:

enter image description here

所以 - 因为我将尾随空格设置为 0 - 为什么屏幕右侧仍然有这个白色条纹?

另一方面,在 iphone 4s 上,视频被裁剪了:

enter image description here

在 iphone 6 上没问题:

enter image description here

我应该应用什么样的约束才能使它在每台设备上看起来都与 iphone 6 上的一样?我只是想让它水平拉伸(stretch),然后垂直长度应该自动调整到它(这样纵横比保持 480x640)

==============================================

伙计们,正如我在下面的评论部分中所写的那样 - 当我移除播放器并使用相同的约束保留正常 View 时 - 一切正常,所以这一定是播放器本身的错......你能帮我区分什么吗那里可能是错的?

==============================================

在我的Storyboard 中,我将playerView 的颜色设置为浅灰色。我再次运行模拟器,我看到了:

enter image description here

这意味着还有一些其他层存储播放器 View 本身。我浏览了插件的代码,发现了这个:

public override func loadView() {
self.playerView = PlayerView(frame: CGRectZero)
self.playerView.fillMode = AVLayerVideoGravityResizeAspect
self.playerView.playerLayer.hidden = true
self.view = self.playerView
}

在这里https://github.com/piemonte/Player/blob/master/Sources/Player.swift

所以我假设我需要以某种方式设置约束:self.playerView.playerView。但是我该怎么做呢?

最佳答案

侧边距的约束必须是 -20 这样视频才能全屏显示,0 留下额外的空间,如果你将 View 拖到边距的边缘你会看到这个,我建议按住 ctrl 拖动到主视图并为其父 View 分配相等的宽度

关于ios - 为什么我的约束在 swift/storyboard 中不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com