ios - UIKeyboardWillChangeFrameNotification 并不总是被调用

标签 ios objective-c iphone xcode

在为 iOS 开发应用程序时,我遇到了一个奇怪的问题。 准确的说,是一款聊天应用。在聊天 View Controller 中,消息输入框出现时应该粘在键盘上。我已经得到了包含 UIKeyboardWillChangeFrameNotification 的那个。 但是,问题是当我从默认键盘更改为稍微高一点的表情符号键盘时,不会调用此通知,不会调用通知(我同时引导 UIKeyboardWillChangeFrameNotificationUIKeyboardDidChangeFrameNotification 到同一个选择器,它们都没有被调用,我已经通过执行 NSLog 并设置断点来测试它)。这导致键盘与消息框重叠。我制作了一些屏幕截图来可视化问题。 Default keyboard Emoji keyboard

我已经在 iPhone X 和 iPhone 8 Plus 模拟器上对其进行了测试,但一切都很好,因为自动完成栏弥补了两个键盘之间的差异。

我是否实现了错误的通知?我该如何解决这个问题?

最佳答案

好吧,这似乎是 iOS 11 中的一个实际错误。它似乎已在 iOS 11.2.6 中修复。

关于ios - UIKeyboardWillChangeFrameNotification 并不总是被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009053/

相关文章:

iphone - 适用于 iPhone 屏幕的回流 PDF (iPhone SDK)

android - 在 xamarin forms iOS 中单击 webview 时如何在设备浏览器中打开链接

iphone - 嵌套表格 View 的视差

iphone - 重新排列时 UITableView 单元格刷新问题

objective-c - 我应该什么时候调用 removeObserver :forKeyPath from within a closing ViewController class that is observing a persistant Model class?

ios - AVPlayer 强制全屏横向模式

iphone - 将通过 AUFilePlayer 播放的音频保存到外部文件

ios - XCode 中容器 View 的问题

ios - 用于 iOS Notes 应用程序的任何类或 API,用于检索笔记和编辑笔记

objective-c - 当使用多线程且仅使用 getter 时,您是否需要您的属性是原子的?