【问题标题】:Simulator vs Physical Device: NavigationLink broken after one use模拟器与物理设备:一次使用后 NavigationLink 损坏
【发布时间】:2019-11-27 17:05:32
【问题描述】:

我正在使用 SwiftUI 创建一个 iOS 应用。我正在使用:

  • Xcode 版本 11.3 测试版 (11C24b)
  • 运行 iOS 13.3 的 iPad 模拟器
  • 同时运行 iOS 13.3 的实体 iPad

但是,该应用在两种设备上的行为不同。例如在物理 iPad 上,NavigationLink 只能使用一次。

这是我的第一个 iOS 应用。所以我想知道如何规避或解决这类错误?

import SwiftUI

enum ExerciseType: String, CaseIterable, Codable, Hashable {
    case vowels = "Vowels"
    case special = "Special Characters"
    case small = "Small Characters"
    case long = "Long Vovels"
}

enum LessonType: String, CaseIterable, Codable, Hashable {
    case hiragana = "Introduction to Hiragana"
    case katakana = "Introduction to Katakana"
    case kanji = "Introduction to Kanji"
}

struct ContentView: View {
    var body: some View {
        NavigationView{
            Form{
                Section(header: Text("Default Lesson")){
                    List{
                        ForEach(LessonType.allCases, id:\.self){ lesson in
                            NavigationLink(destination: LessonView(), label: {Text(lesson.rawValue)})
                        }
                    }
                }
            }
        .navigationBarTitle("iPad NavigationLink")
        }.navigationViewStyle(StackNavigationViewStyle())
    }
}

struct LessonView: View {
    var body: some View{
        Form{
            List{
                ForEach(ExerciseType.allCases, id:\.self){ exercise in
                    NavigationLink(destination: Text(exercise.rawValue), label: {Text(exercise.rawValue)})
                }
            }
        }
    }
}

【问题讨论】:

  • 请分享您的表格视图代码。
  • 当然,我添加了一些在真 iPad 上不起作用的示例代码
  • "同时运行 iOS 13.3 的物理 iPad" ...您是指 iPadOS 吗? :D

标签: ios swift swiftui


【解决方案1】:

Apple 在 iOS 13.3 beta 4 中修复了该错误。请记住,iOS 13.3 在您测试它时处于测试阶段。这不是 iOS 13.2 中的错误,因此无需担心。

【讨论】:

    【解决方案2】:

    在 Xcode 11.3 (11C29) 上测试

    在 iOS 13.3 设备上运行时已修复,但在 iOS 13.3 模拟器上未修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 2019-03-20
      • 2023-03-16
      • 2022-12-20
      • 1970-01-01
      • 2014-11-15
      相关资源
      最近更新 更多