iOS键盘位置和方向

Zee*_*bit 3 iphone uikeyboard ipad ios iphone-softkeyboard

我对iOS SDK比较陌生,而且我正在遇到一个关于我正在处理的应用程序的设备键盘位置和方向的一个非常奇怪的问题.问题是,如果在用户多任务或应用程序进入后台时键盘处于打开状态,则在用户返回应用程序后,键盘将被移位(UIKeyboardWillChangeFrameNotification被抬起),但方向和位置不正确.

有时键盘也会完全脱离屏幕,这是完全不受欢迎的行为.

我的问题是:

  1. 键盘的位置和方向取决于什么?它是如何由iOS控制的?

  2. 有没有办法检测键盘何时在屏幕外显示,无论设备类型和屏幕尺寸如何?我认为跟踪UIKeyboardWillChangeFrameNotification或者是可行的UIKeyboardWillShowNotification.

  3. 如何在显示键盘之前重置/设置键盘的位置和方向?这甚至可能吗?

Rud*_*vič 5

从文档:

使用"键盘通知用户信息键"中描述的键从userInfo字典中获取键盘的位置和大小.

用于从键盘通知的用户信息字典中获取值的键:

NSString * const UIKeyboardFrameBeginUserInfoKey;
NSString * const UIKeyboardFrameEndUserInfoKey;
NSString * const UIKeyboardAnimationDurationUserInfoKey;
NSString * const UIKeyboardAnimationCurveUserInfoKey;
Run Code Online (Sandbox Code Playgroud)