几年前的一个老OC工程,最近想要在上面新增几个功能,打算使用SwiftUI来做,顺便复习下swiftUI的知识。下面介绍下OC项目中使用SwiftUI的步骤:
第一步:创建SwiftUI文件
import SwiftUI
struct CalculteView: View {
var body: some View {
Text("Hello, World!")
Text("Hello, World!")
}
}
第二步,在创建的SwiftUI文件中添加转换成OC的代码
import SwiftUI
@objc
class CalculteViewVC: NSObject {
@objc func makeCalculteView() -> UIViewController {
return UIHostingController(rootView: CalculteView())
}
}
struct CalculteView: View {
var body: some View {
Text("Hello, World!")
Text("Hello, World!")
}
}
第三步,如果是首次在工程中添加Swift或者SwiftUI的文件,需要配置通用swift引入文件。一般来说,首次在工程中添加swift文件时,xcode会提示加桥接、通用配置文件,直接同意就好。配置完成之后,可以在编译配置中查看,如图所示:
第四步,在OC中调用SwiftUI的代码
UIViewController *vc = [[CalculteViewVC new] makeCalculteView];
vc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:vc animated:YES];
参考自:
https://www.jianshu.com/p/549facb59caf