我正在try 在Xcode 14 beta版和iOS 16版中为我的view controller创建Xcode预览.每当我运行代码时,它都会在对话框中抛出一些Xcode预览错误,并使预览崩溃.我没有使用故事板,所以我只是以编程方式加载ViewController2.

import Foundation
import UIKit
import SwiftUI

final class ViewController2: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.green
    }
}

struct ViewController2_Previews: PreviewProvider {
    static var previews: some View {
        ViewController2()
    }
}

extension ViewController2: UIViewControllerRepresentable {
    
    func makeUIViewController(context: Context) -> ViewController2 {
        ViewController2()
    }
    
    func updateUIViewController(_ uiViewController: ViewController2, context: Context) {
        
    }
}

推荐答案

哎哟您使用类来表示-这是个坏主意(即使是最终的!)仅使用(!) struct

这是一个固定的变体(使用Xcode 14b2测试)

struct ViewController2_Previews: PreviewProvider {
    static var previews: some View {
        ViewControllerRep()
    }
}

struct ViewControllerRep: UIViewControllerRepresentable {
    func makeUIViewController(context: Context) -> ViewController2 {
        return ViewController2()
    }
    
    func updateUIViewController(_ uiViewController: ViewController2, context: Context) {
        
    }
}

Ios相关问答推荐

构建iOS项目失败.我们运行了";xcodeBuild";命令,但它退出并返回错误代码65-expo reaction ative

当操作修改查看条件时,按钮不重复

如果使用 .onAppear 设置,为什么 SwiftUI Picker 不显示正确的选定值

在 SwiftUI 中,绑定应该放在 ViewModel 中吗?

类型任何视图不能符合具有泛型的协议上的视图

无法为 Flutter 项目构建 ipa [CocoaPods 找不到 pod "GoogleAppMeasurement" 的兼容版本:]

XCode 14 Beta 中 NavigationStack 的正文渲染问题

从父母到子元素的 Swift Pass 事件

JSONDecoder 在模拟器上运行良好时无法在真实设备上解码

iOS 8 - 使用自定义演示关闭视图控制器后屏幕空白

警告:iPad:Icon-72.png:图标尺寸(0 x 0)

Xcode 4.1 致命错误:自构建预编译头文件后修改了 stdlib

在 iOS 7 上更改标签栏色调 colored颜色

在滚动视图中使用动态大小的控制器调整容器视图的大小

Sierra 中的安全/协同设计: keys 串忽略访问控制设置和 UI 提示权限

如何在 UILabel 中找到文本子字符串的 CGRect?

iOS在应用程序中下载并保存图像

如果我的分发证书过期会怎样?

Xcode中的终端窗口?

如何在 Swift 中更改按钮标题对齐方式?