1. UIViewRepresentable UIKit 库中 UIView 转换为 SwiftUI 中 View, TextFieldView 的交互
1.1 创建转换 UIView 实例 UIViewRepresentableBootcamp.swift
import SwiftUI
/// 呈现/表示视图,视图的转换
/// Convert a UIView from UIKit to SwiftUI
/// UIKit 库中的 UIView 转换为 SwiftUI 中 View
struct UIViewRepresentableBootcamp: View {
@State private var text:String = ""
var body: some View {
VStack {
/// UIView 转换 View
// viewRepresentable
/// 文本输入框 UIkit view 与 SwiftUI 交互
textFieldViewRepresentable
}
}
/// 文本输入框 UIkit 与 SwiftUI 交互
var textFieldViewRepresentable: some View{
VStack {
Text(text)
HStack {
Text("SwiftUI: ")
TextField("Type here...", text: $text)
.padding(.horizontal, 5)
.frame(height: 55)
.background(Color.gray.opacity(0.3).cornerRadius(10))
.padding(.trailing, 10)
}
HStack {
Text("UIKit: ")
UITextFieldViewRepresentable(text: $text)
.updatePlaceholder("New placeholder...")
.padding(.horizontal, 5)
.frame(height: 55)
.background(Color.gray.opacity(0.3).cornerRadius(10))
.padding(.trailing, 10)
}
}
}
/// UIView 转换 View
var viewRepresentable: some View{
VStack {