ios - 是否可以调整 Metal View (MTKView())的大小,使其高度延伸到整个屏幕,但与宽度的比例保持不变?

标签 ios swift iphone metal

我正在尝试在 iPhone X 上缩放我的 MTKView() 全屏,并且我想保持宽度比例(我理解这意味着某些侧面将被剪切)关闭)。

有人可以帮忙吗?

required init(coder: NSCoder) {  
    super.init(coder: coder)  

    device = MTLCreateSystemDefaultDevice()  

    configureMetal()  

    createTextureCache()  

    colorPixelFormat = .bgra8Unorm  

    self.framebufferOnly = false  
    self.autoResizeDrawable = false  
    self.contentMode = .scaleAspectFit  
    self.contentScaleFactor = UIScreen.main.scale  
    self.drawableSize = CGSize(width: 2320, height: 3088)  
} 

最佳答案

几年前,我写了一个名为 EEMetalTextureViewer 的类这可能对此有用。它基本上是一个基于 Metal 的快速像素数据查看器,可以获取 CVImageBuffer 或原始像素数据并将其放在屏幕上(它基于 MTKView) ,并且该类还支持各种 UIViewContentMode 选项。

需要明确的是,支持那些需要手动缩放内容的内容 - MTKView 不会自动为您执行此操作。

我在那里的示例代码实际上演示了如何使用摄像头的实时反馈并呈现它 - 这对您来说可能是一个很好的起点。

关于ios - 是否可以调整 Metal View (MTKView())的大小,使其高度延伸到整个屏幕,但与宽度的比例保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56112448/

相关文章:

iphone - 如何填充作为 subview 的 subview 的 UITableView?

Objective-C:(奇怪)UIButton 框架 NSLogs 不同的坐标与其显示(和接收触摸)的位置

ios - 如何使用不接受实时输入的 CoreML 在 Swift 中创建一个简单的相机应用程序?

ios - 如何在 Realm swift 中使用 distinctUnionOfObjects

iphone - NSThread vs. NSOperationQueue vs. ???在 iPhone 上

具有不同 iTunes 用户的 iOS 应用内购买收据

ios - JavaScriptCore 除了 'hello, world' 之外不工作

ios - 文件从文档文件夹中神秘删除

swift - 在 Swift 中保存结构

iphone - Xcode 4.2 iOS 5 SDK iPhone 3G 无法工作?