ios - 键盘附件视图覆盖的 SwiftUI 工具栏
问题描述
您好,我在 Xcode 12.4 (iOS 14) 中使用 SwiftUI 解决了一个棘手的问题:假设我有一个Form
包含许多部分和TextEditor
s 的表单,这个表单有一个.toolbar
带有一些内容的修饰符(底部栏)(在这种情况下是按钮)。所有这些都包裹在NavigationView
. 一旦用户点击其中一个TextEditor
,底部工具栏就会被键盘的系统附件视图覆盖。请注意,我根本不修改安全区域。任何人都知道下面的代码有什么问题?
struct ContentView: View {
@State var narrative: String = ""
var body: some View {
NavigationView {
Form {
Section(header: Text("Test 1")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 2")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 3")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 4")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 5")) {
Text("Bla Bla Bla")
}
Section(header: Text("Text Editor 1")) {
TextEditor(text: $narrative)
}
Section(header: Text("Test 6")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 7")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 8")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 9")) {
Text("Bla Bla Bla")
TextEditor(text: $narrative)
}
}
.navigationTitle("Title")
.navigationBarTitleDisplayMode(.inline)
.toolbar(content: {
ToolbarItem(placement: .bottomBar) { Button("Press me") { } }
})
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
解决方案
推荐阅读
- python - 为什么我的列表理解没有显示与 for 循环相同的结果?
- c++ - 在 C++ 中消除菱形问题以访问顶级成员
- sql-server - 表上的 SQL Server 触发器与视图上的触发器
- wso2 - DBLookup 参数值作为注册表项不起作用
- java - 为 Eclipse rcp 应用程序的无头更新创建 ProvisioningJob 时出现 NullPointerException
- reactjs - ReactTable 和自定义服务器端数据更新
- node.js - 将监听端口 localhost:8080 的当前 nodejs api 链接到 localhost:4200 的角度
- matlab - 我的 ubuntu 18.0.4 不会从安装中创建“matlab”文件
- scala - 如何使用类型成员约束与类型类一起使用?
- php - PHP地理插件不起作用