业务场景中需要在键盘弹起后重新布局,在review代码时发现收到UIKeyboardDidShowNotification通知时是用如下方式获取键盘frame:
CGRect keyboardFrameBeginRect = [[[notification userInfo] valueForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
iOS 11之前没有问题,iOS11之后部分场景获取frame的高度为零
解决方案:
CGRect keyboardFrameBeginRect = [[[notification userInfo] valueForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];