闲聊SwiftUI中的自定义组件
SwifUI提供了许多功能强大的内置组件,允许我们快速构建复杂的UI。这些组件不仅功能强大,而且书写方式既简单又优雅。 比如HStack
组件,它将任何N个其他组件排成一行 ,比如,下面代码将两个组件排除水平一行:
HStack {
Text("春眠不觉晓,处处闻啼鸟...")
Image(systemName: "heart")
//更多组件
}
想象一下,要描述并实现上面的需求,还有比HStack组件更简洁的方式吗?答案是没有!
组件的优点是不言而喻的,那么我们是否也可以有自己的组件呢,比如,我们希望有一个组件RedBox,它将我们的UI内容加上红色的边框,并像下面方式一样使用:
RedBox {
Text("春眠不觉晓,处处闻啼鸟,夜来风雨声, 花落知多少")
}
答案是肯定的,这就是自定义组件。下面几行简单的代码就实现了我们的RedBox
:
struct RedBox<</