我的整个代码库都在UIKit中。我想使用swiftUI构建 Action 扩展模块。
我可以将 NSExtensionPrincipalClass 添加为扩展UI的初始入口点。如何将初始入口点设置为swiftUI内容 View 。
struct ActionExtensionInitialView: View {
var body: some View {
Text("Hello, World!")
}
}
最佳答案
您的主体类如下所示(经过Xcode 11.2测试和使用)
class ActionViewController: UIHostingController<AnyView> {
// override designated initialiser
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
let contentView = ActionExtensionInitialView() // << SwiftUI root view
super.init(rootView: AnyView(contentView))
}
@objc required dynamic init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
关于ios - 使用SwiftUI内容 View 而不是iOS Action Extension中的ActionViewController进行初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60093274/