我有代码来计算可以正常工作的键盘的位置,但是在安装Xcode11 beta版本后,代码崩溃了
--network=host
“无法获取大小为16的值。预计编码为{CGRect = {CGPoint = dd} {CGSize = dd}}的类型为32个字节”
答案 0 :(得分:1)
UIResponder.keyboardFrameBeginUserInfoKey
返回 NSRect
否 CGPoint
:
包含CGRect的NSValue对象的键,该CGRect标识了 屏幕坐标中键盘的起始帧矩形。的 框架矩形反映了设备的当前方向。
例如在iPhone X纵向模式下,它是:
AnyHashable("UIKeyboardFrameBeginUserInfoKey"): NSRect: {{0, 896}, {414, 243}}
改为使用此:
if let keyBoardPosition = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? CGRect)?.origin {
if (self.frame.origin.y + self.frame.height) > keyBoardPosition.y {
self.frame.origin.y -= (self.frame.origin.y + self.frame.height - keyBoardPosition.y)
}
}
}