首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户调整AVPlayerView大小时强制纵横比- Swift OS X Cocoa

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

Stack Overflow用户
提问于 2016-06-26 23:47:02
回答 2查看 946关注 0票数 2

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

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

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

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

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

有没有可能的方法来有效地保持/强制快速的宽高比?

EN

回答 2

Stack Overflow用户

发布于 2016-06-27 01:01:51

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

代码语言:javascript
复制
override func viewDidAppear() {
    super.viewDidAppear()
    self.view.window?.aspectRatio = NSSize(width: 16, height: 9)
}
票数 5
EN

Stack Overflow用户

发布于 2020-06-17 04:59:10

SwiftUI、Xcode 11、Swift 5、macOS Catalina、单窗口应用程序

对于单窗口SwiftUI macOS应用程序,您可以通过修改AppDelegate.swift中的applicationDidFinishLaunching()来设置固定的纵横比,以允许按比例调整SwiftUI堆栈的父窗口的大小

代码语言:javascript
复制
 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)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38040255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档