在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 本文将使用Button控件的sheet方法,打开一个指定内容的模态窗口。 结构体相对于类来说更加轻量,所以SwiftUI使用结构体来定义视觉控件。 1 import SwiftUI 2 3 struct ContentView : View 4 { 5 //给结构体对象添加一个属性, 6 //该属性为布尔类型,用于决定模态窗口的显示和隐藏 7 @State var isPresented = false 8 9 var body: some View 10 { 11 VStack 12 { 13 //添加一个按钮控件,并设置它的标题文字 14 Button("Show modal") 15 { 16 //当按钮被点击时,设置布尔属性的值为真。 17 self.isPresented = true 18 //调用Button控件的sheet方法,并设置isPresented的值为当前的布尔属性, 19 //当属性的值为真时,显示sheet中的内容。 20 }.sheet(isPresented: $isPresented, content: 21 { 22 //将这个自定义的视图,作为按钮控件的sheet内容 23 MyDetailView(message: "Model window") 24 }) 25 } 26 //从窗口的上方向下拖动,可以关闭该窗口。 27 } 28 } 29 30 //定义一个遵守View协议的指定名称的结构体,作为一个新的自定义视图。 31 //结构体相对于类来说更加轻量,所以SwiftUI使用结构体来定义视觉控件。 32 struct MyDetailView: View 33 { 34 //给自定义视图添加一个字符串类型的属性 35 let message: String 36 //实现View协议中必需实现的body属性,所有自定义视图中的元素都需要放在body中。 37 var body: some View 38 { 39 //添加一个垂直排列视图VStack,作为子视图的容器。 40 VStack{ 41 //添加一个文本视图来显示属性的值。 42 Text(message) 43 //并设置字体为标题样式。 44 .font(.largeTitle) 45 } 46 } 47 } 48 49 #if DEBUG 50 struct ContentView_Previews : PreviewProvider 51 { 52 static var previews: some View 53 { 54 ContentView() 55 } 56 } 57 #endif
|
请发表评论