ios - SwiftUI如何在点击按钮时推送到下一个屏幕
问题描述
我可以使用 NavigationButton(推送)或使用 PresentationButton(呈现)导航到下一个屏幕,但我想在点击 Button() 时推送
Button(action: {
// move to next screen
}) {
Text("See More")
}
有办法吗?
解决方案
你可以使用NavigationLink
注意:请在真机上试用。在模拟器中有时无法正常工作。
struct MasterView: View {
@State var selection: Int? = nil
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: DetailsView(), tag: 1, selection: $selection) {
Button("Press me") {
self.selection = 1
}
}
}
}
}
}
struct DetailsView: View {
@Environment(\.presentationMode) var presentation
var body: some View {
Group {
Button("Go Back") {
self.presentation.wrappedValue.dismiss()
}
}
}
}
推荐阅读
- javascript - 当handleChange函数触发时我需要调用useQuery
- dpdk - dpdk包传输延迟、丢包和重传
- python-3.x - 文件未使用 PIL im.save 保存在特定目录中
- python - 如何在python中将数据框的字段转换为int?
- php - ("*" 这个字符可能在这里或不在)VALUE* 的变量正则表达式
- javascript - 使用javascript通过id访问symfony表单小部件值
- javascript - 使用 getter&setter 和公共属性的区别
- python - 找到 numpy ndarray 的某个值
- javascript - 为什么我不能使用 javascript 设置动画元素的开始值?
- python - 我无法从指定目录读取文件