来自 Storyboard 的视图不会出现在 Xcode 预览中
Views from storyboards won't appear in Xcode Preview
我尝试使用 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
这是我在模拟器和情节提要中的控制器:
这就是这个控制器在预览中的样子:
为故事板中的 ViewController
设置故事板 ID(例如 "ViewController")。
然后从情节提要
创建viewController
func makeUIView(context: Context) -> UIView {
let viewController = UIStoryboard(name: "Main", bundle: nil)
.instantiateViewController(withIdentifier: "ViewController")
return viewController.view
}
如果不同,请使用故事板名称而不是 "Main"。
我尝试使用 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
这是我在模拟器和情节提要中的控制器:
这就是这个控制器在预览中的样子:
为故事板中的 ViewController
设置故事板 ID(例如 "ViewController")。
然后从情节提要
创建viewController
func makeUIView(context: Context) -> UIView {
let viewController = UIStoryboard(name: "Main", bundle: nil)
.instantiateViewController(withIdentifier: "ViewController")
return viewController.view
}
如果不同,请使用故事板名称而不是 "Main"。