用户调整 AVPlayerView 大小时强制纵横比 - Swift OS X Cocoa

use*_*446 2 macos cocoa nswindow nsviewcontroller swift

我希望能够强制 AVPlayerView 具有 16:9 的纵横比,即使用户决定调整窗口大小。

现在我有了它,以便我的视图以 16:9 的比例 (800x450) 自动打开

截图:http : //imgur.com/FzqRAiO

问题是,如果用户决定调整窗口大小,纵横比可能会倾斜并导致视频周围出现大的黑色矩形。

截图:http : //imgur.com/mCdVOcp

有什么可能的方法可以快速有效地保持/强制纵横比?

use*_*446 5

想通了,基本上只需要在 viewDidAppear() 中设置窗口视图的 .aspectRatio :

override func viewDidAppear() {
    super.viewDidAppear()
    self.view.window?.aspectRatio = NSSize(width: 16, height: 9)
}
Run Code Online (Sandbox Code Playgroud)