Xcode 轻触列表中的文本并推送到其他屏幕(查看)快捷界面
在我的视图中,我有一个列表,其中最后一项是切换按钮和水平堆栈中的文本。我想在文本的某些部分添加操作此文本类似于条款和隐私政策。但在添加NavigationLink以移动到其他屏幕时,它添加了在文本和指示器之间留有较大空间的披露指示器,并且click正在整行工作。在swiftUI中是否有其他选项可推送到其他屏幕?我目前正在使用Xcode 11.1Xcode 轻触列表中的文本并推送到其他屏幕(查看)快捷界面,xcode,swiftui,swiftui-navigationlink,Xcode,Swiftui,Swiftui Navigationlink,在我的视图中,我有一个列表,其中最后一项是切换按钮和水平堆栈中的文本。我想在文本的某些部分添加操作此文本类似于条款和隐私政策。但在添加NavigationLink以移动到其他屏幕时,它添加了在文本和指示器之间留有较大空间的披露指示器,并且click正在整行工作。在swiftUI中是否有其他选项可推送到其他屏幕?我目前正在使用Xcode 11.1 var body: some View { NavigationView { List { Naviga
var body: some View {
NavigationView {
List {
NavigationLink(destination: TestView()) {
Text("Test")
}
}
}
}
以下是如何使用NavigationLink显示的屏幕截图:
您也可以使用按钮。这是我用来让它工作的代码。我还添加了一个图像,当用户返回列表时图像会发生变化
struct ContentView: View {
@State var showTestView = false
@State var imageName = "heart"
var body: some View {
List {
HStack{
Image(systemName: imageName)
Button(action: {
self.showTestView.toggle()
}) {
Text("Test")
}
.sheet(isPresented: self.$showTestView) { TestView(showTestView: self.$showTestView, imageName: self.$imageName) }
}
}
}
}
显示TestView时的效果与使用NavigationLink时略有不同,但它很有用且有效。但我希望显示新屏幕的行为,而不是当前屏幕上显示的行为。推送另一个视图的唯一方法是使用NavigationLink。如果你想在同一个单元格上使用2个NavigationLink,我发现这可能很有用。
struct TestView: View {
@Binding var showTestView: Bool
@Binding var imageName: String
var body: some View {
VStack{
Button(action: {
self.imageName = "heart.fill"
self.showTestView.toggle()
}) {
Text("Cancel")
}
}
}
}