我希望能够强制AVPlayerView具有16:9的纵横比,即使用户决定调整窗口大小。
现在我有了它,这样我的视图就会以16:9的比例自动打开(800x450)
截图:http://imgur.com/FzqRAiO
问题是,如果用户决定调整窗口大小,宽高比可能会倾斜,从而导致视频周围出现较大的黑色矩形。
截图:http://imgur.com/mCdVOcp
有没有可能的方法来有效地保持/强制快速的宽高比?
发布于 2016-06-27 01:01:51
基本上只需要在viewDidAppear()中设置窗口视图的.aspectRatio:
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.aspectRatio = NSSize(width: 16, height: 9)
}发布于 2020-06-17 04:59:10
SwiftUI、Xcode 11、Swift 5、macOS Catalina、单窗口应用程序
对于单窗口SwiftUI macOS应用程序,您可以通过修改AppDelegate.swift中的applicationDidFinishLaunching()来设置固定的纵横比,以允许按比例调整SwiftUI堆栈的父窗口的大小
func applicationDidFinishLaunching(_ aNotification: Notification) {
// …
// set a fixed aspect ratio of the main window in a macOS app for SwiftUI
window.contentView?.window?.aspectRatio = NSSize(width: 9, height: 16)
// continue with your regularly scheduled program…
window.makeKeyAndOrderFront(nil)
}https://stackoverflow.com/questions/38040255
复制相似问题