swift - 滚动其中包含 TextFields 的列表时出现 NavigationBarTitle 问题

标签 swift list swiftui textfield navigationbar

我有一个简单的 list 应用程序,它使用 SwiftUI List View 来显示其中包含列表项的部分。

因为我希望列表项可编辑,所以每个列表行内部都有一个 TextField ,其中包含项目名称。但是,如果我在按回车键之前将注意力集中到文本字段并滚动列表,则大的 navigationBarTitle 会出现一个错误,它会保持卡住状态。为了让它正常工作,我必须退出页面然后再回来。

我没有看到任何错误,所以我不确定为什么会发生这种情况。我怀疑使用包装的 UITextField 可能会解决这个问题,但我不确定。

SwiftUI List with TextFields scroll bug navigation bar large Title sticky

最佳答案

在尝试创建可重现的示例时,我能够解决自己的问题。

该错误是由于我将背景颜色应用于包含 List 的父 Group 造成的。删除背景颜色解决了我的问题!

struct ChecklistView: View {
    var body: some View {
        Group {
            if empty {
                EmptyView()
            } else {
                ListView()
            }
        }
        .background(Color(.tertiarySystemBackground).edgesIgnoringSafeArea(.all)) // removing this line fixed my issue
        .navigationBarTitle("My title")
    }
}

关于swift - 滚动其中包含 TextFields 的列表时出现 NavigationBarTitle 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67083030/

相关文章:

swift - 基本 URL(string,relativeTo) 未正确输出

swift - 如何隐藏另一个类的按钮

SwiftUI 更新降低了 Metal 窗的 FPS

ios - 乘以随机数并打印结果

ios - View 关闭后 ObservedObject View 模型仍在内存中

swift - 在两个 ViewController 之间传递两位数数据

ios - 通过 Azure 的 Google 登录错误

Java 数组列表 : Difference between Copy Constructor and Copying via assignment

python 列表理解无效的语法,而 if 语句

java - 如何将列表 <Products> 插入数据库