监听iOS键盘UIKeyboardWillShowNotification,实现监听方法,发现有的机型上监听方法会多次执行,有的机型没问题。这是为什么?
用一个BOOL值限制键盘监听方法只执行一次,打印键盘高度会发现,第一次键盘出现的监听方法中获取到的键盘高度,是不正确的,是小于键盘实际高度的,当第二次监听方法执行的时候,键盘高度才是实际高度。
键盘出现的监听方法中获取键盘高度可能在某些版本机型中第一次执行获取到的是不准确的,所以监听方法多次执行,直到键盘高度真实有效,所以键盘监听方法执行力多次。
感觉这应该是系统的一个bug,有些机型会有这个问题,我用的iOS11.1 6sp发现的这个问题,之前还遇到过监听方法执行了三次,但大多数是没问题的。