繁体   English   中英

NavigationLink 内的 tvOS 按钮不起作用

tvOS Button inside NavigationLink is not Working

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

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

单击时输出:

Login pressed

它看起来像这样:

在此处输入图片说明

聚焦时看起来像这样:

在此处输入图片说明

但是当我将该按钮插入到 NavigationLink 中时,Navigation 就像一个按钮,而这个按钮什么也不做。

代码是这样的:

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 就像一个按钮,但它也阻止了按钮操作的执行。 我遇到了这些主要是由焦点引起的问题。 例如在上图中,您可以看到当焦点位于按钮上时,按钮的形状和颜色会发生变化,但我想控制它。 但是,我不知道如何在项目的焦点设计上发挥作用。

2 个回复

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

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

单击时输出:

Login pressed

它看起来像这样:

在此处输入图片说明

聚焦时看起来像这样:

在此处输入图片说明

但是当我将该按钮插入到 NavigationLink 中时,Navigation 就像一个按钮,而这个按钮什么也不做。

代码是这样的:

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 就像一个按钮,但它也阻止了按钮操作的执行。 我遇到了这些主要是由焦点引起的问题。 例如在上图中,您可以看到当焦点位于按钮上时,按钮的形状和颜色会发生变化,但我想控制它。 但是,我不知道如何在项目的焦点设计上发挥作用。

尝试这个:

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)
}.buttonStyle(PlainButtonStyle())
3 NavigationLink 中的选择不起作用

我的iPad应用程序有以下代码: 按链接完美地工作,它也改变了 DetailView。 我尝试突出显示所选按钮,因此我保存了 selectionIndex。 不幸的是,selectionIndex 有时会重置为 0。我做错了什么? 编辑 将NavigationLink包装到List中可以更好 ...

2020-04-03 01:13:07 1 388   swiftui
4 单击时NavigationLink不起作用-SwiftUI

我有一个名为MainNavigation的视图,在我的主要内容视图上有一个浮动按钮。 MainNavigation视图根据选择的内容切换到不同的视图。 显示时 我有一个包含多个滚动视图的视图。 我希望最终的滚动视图导航到选定的视图,显然无需将视图包装在NavigationView什么也不会发生。 ...

6 NSURLSession在tvOS上不起作用?

我有这种方法来获取TV上URL的内容: 决不会调用完成块。 tvOS上允许使用NSURLSession 。 为了使这项工作有效,我是否需要在项目中进行设置(例如权利设置)或Info.plist设置? 这个代码可以吗? 谢谢! ...

8 iOS 到 tvOS 的通信不起作用

我正在尝试使用我在 github 上找到的这个项目让 iPad 和 Apple TV 相互通信: https : //github.com/arn00s/iOS-tvOS 快速演示在模拟器上完美运行,但我无法让它在真正的 iPad 和真正的 Apple TV 上运行(无论是在 iPhone 上)。 ...

10 如果标签是有条件的,则 NavigationLink 不起作用

我创建了一个滚动条,其中包含用户创建的文件夹列表,如图所示 一个简单的导航链接在文件夹内导航。 为了向用户提供删除文件夹的选项,我在导航视图标签上放置了一个 IF,如果打开或关闭编辑模式,它会更改文件夹库的图标。 我的问题是,当我使用长按手势更改图标设置 var isEditFolderMo ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM