UITextField.becomeFirstResponder()导致iOS 13崩溃

时间:2019-09-29 21:52:37

标签: ios swift uitextfield uikit

每当我尝试调用文本字段的第一响应者时,我的应用都会崩溃并提供以下异常:

'NSInvalidArgumentException', reason: 'Cannot get value with size 16. The type encoded as {CGRect={CGPoint=dd}{CGSize=dd}} is expected to be 32 bytes'

有人知道导致此错误的原因吗?我的应用目前在市场上,在发布更新之前需要帮助解决此错误。

1 个答案:

答案 0 :(得分:1)

我发现了问题。由于iOS的最新更新中有很多不推荐使用的东西,所以我忘记取出不推荐使用的键盘代码。我以前用过这个:

let keyboardHeight = (notification[UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgSizeValue.height

现在我正在使用以下内容:

let keyboardSize = (notification[UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue

希望这对以后的所有人都有帮助。