【发布时间】:2019-05-23 22:46:18
【问题描述】:
我最近在使用keyboardWillShow 和keyboardWillShow 时遇到了这种奇怪的情况,其中从(notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue 获取键盘高度的初始调用返回值477px,然后在所有其他时间返回它说现在的值是 535px,比它大 58px。但是,从外观上看,键盘的外观并没有任何变化。两个键盘都启用了预测栏。
作为背景信息,需要键盘高度的目的是偏移表格视图的滚动,其中每个单元格都包含一个文本字段,我正在比较文本字段的位置以查看它是否在编辑开始时隐藏在键盘后面.
我在理解它的方法上是否遗漏了什么?
【问题讨论】:
-
更新:调用
UIResponder.keyboardFrameEndUserInfoKey似乎与调用 477px 一致。 -
是的,它适用于
keyboardFrameEndUserInfoKey。谢谢。 -
我在 ios 13 中也遇到了同样的问题 我得到了这样的框架:let keyboardFrame = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as! CGRect,我得到了不同的帧日志keyboardFrame值:----(0.0、550.0、414.0、346.0)keyboardFrame:----(0.0、506.0、414.0、390.0)
-
你有什么解决办法吗?
-
@Anita 我已经发布了答案,可能有点晚了:D
标签: ios iphone swift uitableview uitextfield