ios - 在 Swift UI 中,当我使用 NavigationLink 时,屏幕上似乎没有显示任何内容

标签 ios swift

我正在尝试使用 Swift UI 创建一个应用程序,其中的按钮在按下时会打开一个新屏幕。从Google上看,似乎应该使用NavigationView来实现这一点。我有一个带有一个按钮的导航 View 。当我使用运行 IOS 13 beta 的 iPad 运行代码时,屏幕上似乎没有显示任何内容。我是盲人并且使用 VoiceOver,因此该按钮可能会显示,但 VoiceOver 看不到它。

我使用 VStack 是因为我计划使用其中一些按钮(又名导航链接)来打开另一个屏幕。

import SwiftUI
struct WindowsShortCuts: View {
var body: some View {
    Text("This will show questions about Windows shortcuts.")
    }
}

结构ContentView: View {

var body: some View {
    NavigationView {
        VStack {
        NavigationLink(destination: WindowsShortCuts()) {
                Text("Windows shortcuts")
            }.navigationBarTitle(Text("Choose category"))
        }
    }
}

}

我希望有一个标有“Windows 快捷方式”的按钮。当我点击按钮时,我希望它会打开另一个屏幕。由于我正在测试,屏幕上应该有一些文字。

最佳答案

您应该使用

,而不是使用 NavigationLink(destination: WindowsShortCuts())
NavigationButton(destination: WindowsShortCuts()) {
    Text("Windows shortcuts")
}.navigationBarTitle(Text("Choose category"))

希望这对您有帮助。

更新答案

这就是它的样子 -

struct ContentView : View {

var body: some View {
    NavigationView {
        VStack {
            NavigationButton(destination: WindowsShortCuts()) {
                Text("Window shortcut")
            }.navigationBarTitle(Text("Choose category"))
        }
    }
}}


struct WindowsShortCuts: View {
   var body: some View {
    Text("This will show questions about Windows shortcuts.")
}}

关于ios - 在 Swift UI 中,当我使用 NavigationLink 时,屏幕上似乎没有显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57438777/

相关文章:

ios - 检测 ViewController ios 中哪个场景已启动

objective-c - 加载新页面时为 Spinner 设置动画

ios - Swift:在 TableView Prototype Cell 中获取 Label 以显示多行(自动换行)

ios - UITapGestureRecognizer 未被识别

ios - Swift 中单例类的委托(delegate)

ios - 在设备上将 GIF 转换为 MP4

ios - 无法在自定义 View 中将边框颜色和背景显示为模糊,就像 Swift 中的弹出 View 一样

ios - 当图像改变大小时 MTKView 显示 CIImage 出错

swift - 系列 cloudkit 回调 - 何时弹出到上一个 Controller

repeatActionForever : "missing argument for parameter ' completion'"? 的 Swift 错误