// 通过AnyView返回任意类型的视图
struct ContentView: View {
private var randomBool = Bool.random() // 布尔属性用于判断显示哪一个视图,它的值是一个随机的布尔值
// var body: some View {//作为View协议唯一的属性,body需要return一个View。默认return被省略
if randomBool
{
return Text("SwiftUI初级课程")
}
else{
return Text("SwiftUI下一代UI界面编码")
}
//
// Group//具有分组视图内容的能力,子视图被组合为一个视图,所以即使没有return,也正常执行
// {
// if randomBool
// {
// Text("SwiftUI初级课程")
// }
// else
// {
// //Text("SwiftUI下一代UI界面编码")
// Image(systemName: "sun.max")
// .font(.system(size: 72))
// }
//
// }
//
// }
var body: AnyView // body属性设置为AnyView类型,使body属性可以接受任意类型的返回
{
if randomBool {
return AnyView(Text("SwiftUI初级课程")) // 被强制转换为AnyView类型
} else {
return AnyView(Image(systemName: "sun.max")
.font(.system(size: 72))) // 被强制转换为AnyView类型
}
} // 任意类型和Group布局效果相似,但Group执行效率更高
}
SwiftUI初级课程(十七)AnyView返回任意类型的视图
最新推荐文章于 2024-07-03 19:52:45 发布