相关疑难解决方法(0)

无法在 SwiftUI 中两次选择同一行

我有一个包含多个部分和行的导航列表。我选择一行 foo,它导航到我想要的视图。但是,当我返回根视图时,无法选择行 foo。我点击行 foo 并没有任何反应。

我点击行栏,该行将我发送到它的视图。回到根视图。然后我无法选择行栏,但现在行 foo 有效。

这是 SwiftUI 中的错误还是设计行为?当我离开视图时,我需要做些什么来重置视图?

NavigationView {
            List {
Section(header: shoppingListData.lastItemSection.sectionHeader, footer: shoppingListData.lastItemSection.sectionFooter) {
            ForEach(0..<shoppingListData.lastItemSection.sectionRows.count) { index in
                ShoppingItemRow(shoppingListData: self.shoppingListData,
                                rowItem: self.shoppingListData.lastItemSection.sectionRows[index])
            }
        }
}
}
Run Code Online (Sandbox Code Playgroud)

这是另一个具有相同问题的案例。我只能选择表单的选择器行一次。如果我回到根视图,然后又回到这个视图,我可以再次选择选择器。

如果我将pickerStyle 设置为SegmentedPickerStyle(),我可以多次选择它。

struct ShoppingItemPage: View {
    @ObservedObject var shoppingListData: ShoppingListData
    @ObservedObject var shoppingItem: ShoppingItems
    var body: some View {
        Form {
            Section(header: Text("Packages")) {
                HStack {
                    Text("Quantity (\(shoppingItem.myUnit.myName))")

                    TextField("Quantity (\(shoppingItem.myUnit.myName))", value: $shoppingItem.stdQty, formatter: basicFormat)
                        .textFieldStyle(RoundedBorderTextFieldStyle())
                        .keyboardType(.numbersAndPunctuation)

                    Toggle("Need", isOn: $shoppingItem.needed)
                }
                HStack {
                    Text("Item Name")
                    TextField("Item Name", text: …
Run Code Online (Sandbox Code Playgroud)

swiftui swiftui-list

20
推荐指数
1
解决办法
1234
查看次数

模拟器与物理设备:使用一次后 NavigationLink 损坏

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

  • Xcode 11.3 测试版 (11C24b)
  • 运行 iOS 13.3 的 iPad 模拟器
  • 物理 iPad 也运行 iOS 13.3

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

这是它在物理设备上的外观(首次使用后 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 …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

5
推荐指数
1
解决办法
486
查看次数

标签 统计

swiftui ×2

ios ×1

swift ×1

swiftui-list ×1