如何解决在 SwiftUI 2 中创建自定义 PageView 时出错
我正在开发一个应用程序,它需要一个 PageView
中的 6 个项目,xcode
正在起作用,所以我来到 Stack Overflow 并找到了 pawello2222 的方法,发现它真的很有帮助,但我仍然需要连接它到顶部的水平链接。这是代码,谢谢一百万。
原始解决方案:How can I implement PageView in SwiftUI?
下面是我的代码和我想要实现的,向左或向右滑动有效,但点击链接不会改变视图
struct TestingView: View {
@State var selection = 0
var body: some View {
vstack {
HStack(spacing: 10) {
vstack {
Text("Link 1")
.foregroundColor(self.selection == 0 ? Color.blue : Color("Silver").opacity(0.7))
.font(.caption)
.fontWeight(.bold)
.clipShape(Rectangle())
.onTapGesture {
withAnimation(.default) {
self.selection = 0
}
}
}
Spacer(minLength: 0)
vstack {
Text("Link 2")
.foregroundColor(self.selection == 1 ? Color.blue : Color("Silver").opacity(0.7))
.font(.caption)
.fontWeight(.bold)
.clipShape(Rectangle())
.onTapGesture {
withAnimation(.default) {
self.selection = 1
}
}
}
Spacer(minLength: 0)
vstack {
Text("Link 3")
.foregroundColor(self.selection == 2 ? Color.blue : Color("Silver").opacity(0.7))
.font(.caption)
.fontWeight(.bold)
.clipShape(Rectangle())
.onTapGesture {
withAnimation(.default) {
self.selection = 2
}
}
}
}
PageView(selection: $selection,indexdisplayMode: .never,indexBackgrounddisplayMode: .never) {
vstack {
FirstView()
}
.tag(0)
vstack {
SecondView()
}
.tag(1)
vstack {
ThirdView()
}
.tag(2)
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。