import SwiftUI
struct CustomView: View {
@State private var textContent = "初始文本"
var body: some View {
VStack {
Text(textContent)
.padding()
Button("点击改变文本") {
textContent = "文本已改变"
}
.padding()
}
}
}
struct CustomView_Previews: PreviewProvider {
static var previews: some View {
CustomView()
}
}
- 关键逻辑解析:
- 使用
@State
来声明一个可变的状态变量 textContent
,它用来存储文本标签显示的内容。初始值设为“初始文本”。
- 在
body
中,构建一个 VStack
垂直堆叠视图,其中包含一个 Text
文本标签显示 textContent
的内容,以及一个 Button
按钮。
- 按钮的点击动作闭包中,改变
textContent
的值为“文本已改变”,SwiftUI 会自动检测到状态变化并更新视图,从而更新文本标签的显示内容。
CustomView_Previews
结构体用于在 Xcode 的预览窗口中展示 CustomView
。