【问题标题】:Views from storyboards won't appear in Xcode Preview来自故事板的视图不会出现在 Xcode 预览中
【发布时间】:2019-12-11 17:14:20
【问题描述】:

我尝试使用 Xcode 预览功能。当我直接在代码中添加视图时效果很好,但如果我通过情节提要添加任何视图,预览将不会显示这些视图。这是我的代码:

import UIKit

final class ViewController: UIViewController {

    @IBOutlet weak var segmentedControl: UISegmentedControl?
}

#if canImport(SwiftUI) && DEBUG
import SwiftUI
struct ViewControllerRepresentable: UIViewRepresentable {

    func makeUIView(context: Context) -> UIView {
        return ViewController().view
    }

    func updateUIView(_ view: UIView, context: Context) {

    }
}

@available(iOS 13.0, *)
struct ViewController_Preview: PreviewProvider {

    static var previews: some View {
        Group {
            ViewControllerRepresentable()
        }
    }
}

#endif

这是我在模拟器和情节提要中的控制器:

这就是这个控制器在预览中的样子:

【问题讨论】:

    标签: ios swift xcode swiftui preview


    【解决方案1】:

    在storyboard中为ViewController设置storyboardID(例如“ViewController”)。

    然后从故事板创建viewController

    func makeUIView(context: Context) -> UIView {
        let viewController = UIStoryboard(name: "Main", bundle: nil)
            .instantiateViewController(withIdentifier: "ViewController")
        return viewController.view
    }
    

    如果不同,请使用您的故事板名称而不是“Main”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2013-10-06
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多