【发布时间】: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