SwiftUI 对 ViewState 的表达语法

avatar
作者
猴君
阅读量:6

SwiftUI 中的 ViewState 可以通过 @State 关键字来表示。

  1. 单个状态属性的定义和初始化:
@State private var isShowingSheet = false 
  1. 在 View 中使用状态属性:
struct ContentView: View { @State private var isShowingSheet = false var body: some View { VStack { Button("Show Sheet") { self.isShowingSheet = true } .sheet(isPresented: $isShowingSheet) { SheetView() } } } } 
  1. 在 View 中使用状态属性的值:
struct SheetView: View { @Environment(\.presentationMode) var presentationMode var body: some View { VStack { Text("Sheet View") Button("Dismiss") { self.presentationMode.wrappedValue.dismiss() } } } } 

在上述示例中,isShowingSheet 是一个用于控制是否显示 sheet 的状态属性。当点击按钮时,它的值被设置为 true,从而显示 sheet。sheet 的显示状态由 isPresented 参数控制,它接受一个绑定的状态属性作为值。

在 SheetView 中,presentationMode 是一个用于控制 sheet 是否被隐藏的环境值。当点击按钮时,调用 self.presentationMode.wrappedValue.dismiss() 可以将 sheet 隐藏。

通过 @State$ 符号,SwiftUI 实现了一种简洁而直观的方式来处理和更新视图的状态。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!