ios 如何使用导航视图解决损坏的UIKeyboardLayoutGuide?

xdyibdwo  于 2023-06-25  发布在  iOS
关注(0)|答案(1)|浏览(139)

iOS 15添加了新的闪亮UIKeyboardLayoutGuide,以便能够对需要与键盘React的视图施加约束。
这在单个视图中工作得很好,但是当您在 View A 中设置了约束并将 View B 推到堆栈上时,键盘布局指南突然得到CGRect.zero的大小(在 View A 中)。
当返回到 View A 时,键盘布局参考框仍然是.zero,因此键盘布局参考框 top“SomeView”.bottom 之间的约束被打破。
为了展示这个问题,我在跟踪控制器中添加了一个绿色视图,并在键盘布局指南顶部锚上添加了一个底部约束,如下所示:

let kbView = UIView()
kbView.backgroundColor = .green
kbView.translatesAutoresizingMaskIntoConstraints = false

self.view.addSubview(kbView)

kbView.widthAnchor.constraint(equalToConstant: 200).isActive = true
kbView.heightAnchor.constraint(equalToConstant: 100).isActive = true
kbView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true

kbView.bottomAnchor.constraint(equalTo: self.view.keyboardLayoutGuide.topAnchor).isActive = true

你可以在下面的Github链接中找到整个项目。
我们如何解决这个问题,其他人是否也遇到了这个问题?
我目前的变通方法是编写我自己的布局指南,它只是工作-并且兼容iOS < 15。
真的,这不可能是真的(?)!)**,考虑到这是一个新的和闪亮的功能...
也许我忽略了什么
无论如何:Here is the demo project showcasing the issue

相关问题