由于新NavigationStack存在相当多的问题,包括目前相当严重的内存泄漏,我仍然使用带有iOS 15+构建目标的旧NavigationView。
但是,运行iOS 16的设备不再显示键盘中的ToolbarItemGroup内容。ToolbarItem(放置:.navigationBarTrailing)工作得很好,但是ToolbarItemGroup(放置:.keyboard)不再显示内容。
下面是用于键盘工具栏项的代码:
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
HStack {
Spacer()
Button {
isFocused = nil
} label: {
Image(systemName: "keyboard.chevron.compact.down")
}
}
}
}这应该显示在键盘顶部的图像,允许用户在点击上失去焦点。它在iOS 15上工作得很好,但在运行iOS 16的设备上却没有显示出来。
我在一个真正的设备上测试,而不是模拟器。
发布于 2022-11-22 15:49:38
这似乎是又一个iOS 16错误。如果您将整个键盘工具栏包装在一个HStack中,那么它将不会出现在iOS 16中,但是,如果您设想一个HStack首先隐式地包围了所有键盘工具栏元素,然后删除了HStack包装,那么一切都会正常工作。
此外,只要您的整个键盘工具栏没有包装在HStack中,您的工具栏中就可能有子堆栈元素。
以下是解决办法:
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button {
isFocused = nil
} label: {
Image(systemName: "keyboard.chevron.compact.down")
}
}
}https://stackoverflow.com/questions/74534830
复制相似问题