kit*_*ian 7 keyboard toolbar swiftui
由于新的 NavigationStack 有相当多的问题,包括此时相当严重的内存泄漏,我仍在使用旧的 NavigationView ,构建目标为 iOS 15+。
但是,运行 iOS 16 的设备不再在键盘中显示 ToolbarItemGroup 内容。ToolbarItem(placement: .navigationBarTrailing) 工作正常,但 ToolbarItemGroup(placement: .keyboard) 不再显示内容。
这是我用于键盘工具栏项目的代码:
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
HStack {
Spacer()
Button {
isFocused = nil
} label: {
Image(systemName: "keyboard.chevron.compact.down")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这应该在键盘顶部显示图像,允许用户在点击时分散注意力。它在 iOS 15 上完美运行,但在运行 iOS 16 的设备上没有任何显示。
我正在真实设备上进行测试,而不是模拟器。
这似乎是 iOS 16 的另一个错误。看起来,如果您将整个键盘工具栏包装在 HStack 中,它不会出现在 iOS 16 中,但是,如果您想象 HStack 首先隐式包围所有键盘工具栏元素,然后删除 HStack 包装,一切都按其应有的方式进行。
此外,只要您的整个键盘工具栏没有包含在 HStack 中,您的工具栏中就可能有子 HStack 元素。
这是解决方案:
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button {
isFocused = nil
} label: {
Image(systemName: "keyboard.chevron.compact.down")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1600 次 |
| 最近记录: |