【问题标题】:iOS 16 NavigationLinks in nested Lists unclickable嵌套列表中的 iOS 16 NavigationLinks 不可点击
【发布时间】:2022-12-19 13:23:34
【问题描述】:

我在 iOS 16.2 模拟器和 iOS 16.1.2 设备上运行 xCode 14.2。

在我的应用程序中,我的子列表中有 NavigationLinks,这些子列表实现为嵌套的 Lists。更新我的 xCode 后,NavigationLinks 突然变得无法点击。看起来触摸目标发生了一些问题,无法点击 NavigationLink 本身,并且只有一些微小的背景条是可点击的。

这是重现该问题的示例代码:

import SwiftUI

@available(iOS 16.0, *)
struct ContentView: View {

    var body: some View {
        NavigationStack {
            List {
                List {
                    NavigationLink("Mint") { ColorDetail(color: .mint) }
                    NavigationLink("Pink") { ColorDetail(color: .pink) }
                    NavigationLink("Teal") { ColorDetail(color: .teal) }
                }.listStyle(.plain)
                List {
                    NavigationLink("Red") { ColorDetail(color: .red) }
                    NavigationLink("Blue") { ColorDetail(color: .blue) }
                    NavigationLink("Black") { ColorDetail(color: .black) }
                }.listStyle(.plain)
            }.listStyle(.plain)
            .navigationTitle("Colors")
        }
    }
}

struct ColorDetail: View {
    var color: Color

    var body: some View {
        color.navigationTitle(color.description)
    }
}

这是它的截屏视频:https://imgur.com/a/SrJ1IbO。基本上,大部分颜色标签是不可点击的,但边缘是可点击的。但即使单击它们,它们的行为也很奇怪,会触发多个链接。 NavigationStackNavigationView 都会发生这种情况。

有人可以深入了解为什么会发生这种情况以及如何解决它吗?它在 < iOS 15 上运行良好

【问题讨论】:

    标签: swiftui swiftui-navigationlink swiftui-navigationview ios16 swiftui-navigationstack


    【解决方案1】:

    List 适用于可重复使用的行。 您的NavigationLink 之一是独一无二的。所以请改用ScrollView

    Apple 仍在开发 SwiftUI 并经常更改它,仍然不像我的经验那样稳定。

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      相关资源
      最近更新 更多