【问题标题】:Notification for change of iPad keyboard heightiPad键盘高度变更通知
【发布时间】:2011-10-29 09:57:57
【问题描述】:

我正在尝试在 iPad 键盘上显示 UITextField。

当通知出现时,我能够获得键盘的高度。

但是,在 iPad 中,通过更改键盘的语言输入 -> 最有可能是日语,键盘的高度发生了变化,因为键盘顶部显示了一个文本假设区域,这导致我的 UITextfield 被隐藏了面积....

有人知道我怎样才能得到高度变化的通知或其他方式吗?

【问题讨论】:

  • 我确实调整了我的视图大小,但问题是,在 iPad 中,根据键盘的语言,高度发生了变化。由于键盘已经可见,因此在更改键盘高度时似乎没有通知。
  • 真的吗?我以为所有键盘的高度都一样。
  • 在 iPad 中,日文和中文键盘在键盘顶部显示一个建议列表.. 使其更高...

标签: ipad keyboard notifications


【解决方案1】:

答案是,当您切换语言时,每次更改都会触发UIKeyboardDidShowNotification,因此您始终会获得更新后的高度。

See my answer here关于如何设置对显示和隐藏的响应,以及获取高度。

【讨论】:

    【解决方案2】:

    斯威夫特

    UIKeyboardDidShowNotification 不会再触发键盘大小更改。

    改用UIKeyboardWillChangeFrameNotification

    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(instance.keyboardWillChange(_:)), name:UIKeyboardWillChangeFrameNotification, object: nil)
    

    函数:

    let targetSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.CGRectValue() 
    

    重要提示:此事件也会在键盘打开和隐藏时触发,如果只需要尺寸,可以同时替换 UIKeyboardWillShowNotificationUIKeyboardWillHideNotification

    【讨论】:

      猜你喜欢
      • 2019-05-23
      • 2015-12-04
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多