- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 TabView
中跟踪用户所在的页面即 PageTabViewStyle
在 SwiftUI 中,但我想不出跟踪页面索引的最佳方法?使用 .onAppear
效果不佳,因为它被多次调用,即使不在屏幕上,第 2 页和第 3 页也会被调用。 🤔
@State var pageIndex = 0
var body: some View {
VStack {
Text("current page = \(0) ")
TabView {
Text("First")
.onAppear {
pageIndex = 0
}
Text("Second")
.onAppear {
pageIndex = 1
}
Text("Third")
.onAppear {
pageIndex = 2
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
}
}
}
最佳答案
您可以通过 selection
绑定(bind)到 TabView
并使用 tag
识别页面:
struct ContentView: View {
@State var pageIndex = 0
var body: some View {
VStack {
Text("current page = \(pageIndex) ")
TabView(selection: $pageIndex) {
Text("First").tag(0)
Text("Second").tag(1)
Text("Third").tag(2)
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
}
}
}
请注意,在您的原始代码中,它总是说当前页面 = 0,因为您没有插入
pageIndex
变量到字符串中
关于ios - SwiftUI 如何在 PageTabViewStyle 中跟踪页面索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66522094/
我正在研究 SwiftUI View 。在 TabView 中使用 NavigationView 时,应用程序按预期工作。 struct ContentView: View { var
我试图在 TabView 中跟踪用户所在的页面即 PageTabViewStyle在 SwiftUI 中,但我想不出跟踪页面索引的最佳方法?使用 .onAppear效果不佳,因为它被多次调用,即使不在
我有一个 TabView在 SwiftUI 中 PageViewTabStyle所以我可以在页面之间滑动。我想要一个将当前 View “锁定”到位的设置,因此用户无法滑动。谷歌搜索和阅读文档对我来说没
如何制作我的 SwiftUI TabView与 PageTabViewStyle将其高度调整为内容的高度? 我有一个 SwiftUI View 如下: struct TabViewDynamicHei
现在可以使用修饰符创建水平滚动页面 Controller : .tabViewStyle(PageTabViewStyle()) 默认情况下,页面是水平显示的。如何修改它以像 UIPageViewCo
通过使用 .tabViewStyle(PageTabViewStyle()) 将 TabView 用作页面查看器工作正常,但试图通过应用 edgesIgnoringSafeArea 让它从一个边缘运行
所以这个错误突然出现了。我有一个带有 PageTabViewStyle() 的 TabView,用于在 ScrollView 中显示图像。图片下方是其他内容(标题、文本等,与此示例无关)。 过去一切正
所以我有一个如下所示的 TabView,但是当我尝试在 ScrollView 中实现它时,我总是必须给它一个固定的高度。有没有办法告诉tabview使用它在scrollView中需要的空间?我不知道
这是使用 时的一个非常具体的问题ForEach 在 TabView 与 PageTabViewStyle 修饰符。 每次我在数组的开头插入一个元素时,我的应用程序都会崩溃。 我得到一个 attempt
我正在使用 SwiftUI 2.0,实际上,我很高兴 Apple 引入了 PageTabViewStyle 来简单地创建一个寻呼机。 但不幸的是,我无法以我想要的方式实现它。 是否可以创建一个显示前一
我是一名优秀的程序员,十分优秀!