SwiftUI:将项目动态添加到选项卡视图
我想使用TabView显示一些数据。我正在为此使用分页视图样式SwiftUI:将项目动态添加到选项卡视图,swift,xcode,swiftui,tabview,Swift,Xcode,Swiftui,Tabview,我想使用TabView显示一些数据。我正在为此使用分页视图样式 struct ContentView: View { @State var texts: [String] = ["first", "second"] var body: some View { TabView { ForEach(texts, id: \.self) { text in VStack {
struct ContentView: View {
@State var texts: [String] = ["first", "second"]
var body: some View {
TabView {
ForEach(texts, id: \.self) { text in
VStack {
Button(action: {
texts.append("next one...")
}, label: {
Text("Button")
})
Text(text)
}
}
}
.tabViewStyle(PageTabViewStyle())
.indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
}
}
正如预期的那样,视图将显示两个页面(“第一”和“第二”)。当我按下按钮时,会添加一个新的页面指示器(因此我在页面索引中看到三个点),但我无法滚动到第三页
是我遗漏了什么,还是这是Xcode中的一个bug?正如Asperi已经指出的那样,同样的beheaviour也出现在了Xcode中 我还发现这篇文章引用了相同的答案:
解决方案是在TabView中添加一个.id(id值),以便它完全重新加载。旁注:如果我删除PageTabViewStyle,它似乎可以正常工作。这是否回答了您的问题?当然!谢谢你!