J. *_*ell 5 view tabbed swiftui
我有一个底部带有选项卡的视图,其中一个viewshas subviews,为了在视觉上分离逻辑,我使用以下代码将子视图的选项卡放在视图的顶部,它完美地工作:
self.tabbar.frame = CGRect( x: 0,
y: view.safeAreaInsets.top,
width: self.view.frame.size.width,
height: 50)
Run Code Online (Sandbox Code Playgroud)
我如何做到这一点SwiftUI?
为此,您可以将选项卡视图创建为单个选项卡的容器,例如...
struct TabbedView: View {
@State private var selectedTab: Int = 0
var body: some View {
VStack {
Picker("", selection: $selectedTab) {
Text("First").tag(0)
Text("Second").tag(1)
Text("Third").tag(2)
}
.pickerStyle(SegmentedPickerStyle())
switch(selectedTab) {
case 0: FirstTabView()
case 1: SecondTabView()
case 2: ThirdTabView()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这样做,您将根据分段控件的值有条件地填充“标签页”。
通过使用@State,$selectedTab分段控件将更新 selectedTab 值,然后重新呈现将根据新值替换页面的视图selectedTab。
编辑
开关现在可以在 SwiftUI 测试版中使用。
| 归档时间: |
|
| 查看次数: |
4013 次 |
| 最近记录: |