在iOS SwiftUI中,我们如何为导航栏做一个通用的布局,这样我们就可以在所有项目中使用它,而不需要重写相同的代码?
我们可以使用ViewBuilder为常见代码创建一个基本视图,如下所示:
struct BaseView<Content: View>: View {
let content: Content
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
var body: some View {
// To-do: The most important part will go here
}
}
如何在视图生成器或基视图中添加导航条形码?
2条答案
按热度按时间dy1byipe1#
您可以像这样创建
view
的扩展。您可以查看my blog entry for details现在,您可以在视图的任何位置使用此appBar
n8ghc7c12#
实现这一点的一种方法是使用自定义视图作为覆盖。
例如,考虑下面的代码,该代码使用覆盖来创建自定义导航栏:
.overlay
中的ZStack将生成一个看起来像导航栏的视图。然后,您可以将它移到它自己的结构视图中,向它添加不同的变量,并从覆盖中调用它。