ios - 获取自定义键盘的高度(iOS 8)

标签 ios swift keyboard

我需要根据用户激活的默认键盘的高度调整几个 UI 元素的位置。我知道如何获取默认系统键盘的高度:

keyboardHeight = (sender.userInfo![UIKeyboardFrameBeginUserInfoKey] as NSValue).CGRectValue().height

但是,当我将此代码与自定义键盘(例如 SwiftKey)一起使用时,高度返回为 0。如何获取自定义键盘的高度?抱歉,如果这个问题已经得到回答,但我还没有找到已回答的线程...谢谢!

最佳答案

解决了!事实证明,我在手机 (SwiftKey) 上测试的自定义键盘出于某种未知原因有三个 keyboardWillShow 回调……SwiftKey/iOS 8 部分的编码错误?无论如何,我以仅使用第一个回调的方式编写代码,但第三个回调返回了具有正确信息的发件人。按顺序,三个回调中的每一个的 UIKeyboardFrameEndUserInfoKey 返回的高度为:

No keyboard (0.0)
System's keyboard (also SwiftKey's keyboard without the autocomplete frame above the main keyboard)
Custom keyboard

我使用了来自第三个回调的信息并且能够正确更新我的 UI 元素。

关于ios - 获取自定义键盘的高度(iOS 8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27945743/

相关文章:

javascript - JQuery 移动 IOS 设备如何删除 Web 上的默认滚动

iphone - 如何在 iOS 的 Cocos2D 游戏中创建新的模型和纹理

android - 如何在按下下一行键时添加特殊字符?

python - 在不丢失键盘状态的情况下调整 pygame 窗口大小

ios - UIWebview/WKWebivew WebP 支持

ios - 恢复并保留从 UINavigationController 推送的 UIViewController,没有 Storyboard

ios - UITableViewCell 中的标签,更改第二行字体大小,添加边距?

ios - 自定义 XML 解析器 - 当某些键不存在时该怎么办?

swift - 带有 .xib 文件的 UIPickerView 自定义布局

ios - 通过触摸外部关闭 iOS 键盘(更聪明的方式)