SwiftUI状态绑定:@State
code:
// // ContentView.swift // StateDemo // // Created by udc on 2020/10/16. // Copyright ? 2020 udc. All rights reserved. // import SwiftUI struct ContentView: View { //加了@State注解的变量,视图通过监视和读取该变量来重新渲染UI。 //其状态是由SwiftUI来存储管理的,作为视图渲染的单一可信来源。 @State private var changgeState:Bool = false @State private var num:Int = 0; var body: some View { //垂直布局 VStack(alignment: .center, spacing: 5, content:{ Button(action: { //引用@State的变量时需要加上self的前缀才能正常找到变量 self.changgeState.toggle() }){ Text("点我改变计数显示位置背景") } //添加一个$前缀,就可以将State转为Binding。 Stepper("计数器", value:$num).padding(50) //Z轴布局 ZStack(content: { Text("显示数值").blur(radius: self.changgeState ? 10 : 0) Text("\(self.num)") }) }) } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }
参考自:
https://www.jianshu.com/p/46cbe061c8f5