Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 导航链接内的tvOS按钮不工作_Swift_Swiftui_Tvos - Fatal编程技术网

Swift 导航链接内的tvOS按钮不工作

Swift 导航链接内的tvOS按钮不工作,swift,swiftui,tvos,Swift,Swiftui,Tvos,我已经用swift和swiftui构建了一个iOS应用程序,现在我正在开发该应用程序的tvOS版本。然而,我有几个问题。其中一个问题仍未解决: 我正在创建一个登录页面,我意识到NavigationLink中的按钮没有任何作用。然后,为了测试和识别问题,我创建了一个简单的按钮,如下所示: Button(action: { print("Login pressed") }) { Text("Login") .frame(width:300, height: 35) }

我已经用swift和swiftui构建了一个iOS应用程序,现在我正在开发该应用程序的tvOS版本。然而,我有几个问题。其中一个问题仍未解决: 我正在创建一个登录页面,我意识到NavigationLink中的按钮没有任何作用。然后,为了测试和识别问题,我创建了一个简单的按钮,如下所示:

Button(action: {
    print("Login pressed")
}) {
    Text("Login")
        .frame(width:300, height: 35)
}
.background(Color.blue)
.foregroundColor(Color.white)
单击时的输出:

Login pressed
看起来是这样的:

当聚焦时,它看起来是这样的:

但当我在NavigationLink中插入该按钮时,NavigationLike就像一个按钮,而这个按钮什么也不做

代码如下:

NavigationLink(destination: mainScene(), tag:1, selection: $selection) {

    Button(action: {
        print("Login pressed")
        self.selection = 1
    }) {
        Text("Login")
            .frame(width:300, height: 35)
    }
    .background(Color.blue)
    .foregroundColor(Color.white)
}
在iOS中,我有一个类似的代码,它不会导航,直到按钮操作中的所有内容都被执行,并且选择值等于1。但在这种情况下,它不执行任何操作,只直接导航到下一页。当我将该按钮嵌入NavigationLink时,它看起来是这样的:

如您所见,原始登录按钮周围有空白,焦点是空白。当点击它时,它就会导航。看起来NavigationLink就像一个按钮,但它也阻止执行按钮操作。我遇到的这些问题主要是由焦点引起的。例如,在上面的图像中,可以看到当焦点打开时按钮的形状和颜色会发生变化,但我想控制它。然而,我不知道如何在项目的焦点设计上发挥作用

试试下面的方法

Button(action: {
    print("Login pressed")
    self.selection = 1
}) {
    Text("Login")
        .frame(width:300, height: 35)
}
.background(Color.blue)
.foregroundColor(Color.white)
.background(NavigationLink(destination: mainScene(), tag:1, 
     selection: $selection) { EmptyView() })

谢谢你的回答。它解决了导航问题,但按钮和文本字段的样式和外观仍然很糟糕。你有什么好消息来源吗?