Swift 导航链接内的tvOS按钮不工作
我已经用swift和swiftui构建了一个iOS应用程序,现在我正在开发该应用程序的tvOS版本。然而,我有几个问题。其中一个问题仍未解决: 我正在创建一个登录页面,我意识到NavigationLink中的按钮没有任何作用。然后,为了测试和识别问题,我创建了一个简单的按钮,如下所示: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) }
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() })
谢谢你的回答。它解决了导航问题,但按钮和文本字段的样式和外观仍然很糟糕。你有什么好消息来源吗?