问题:有时我们在做APP的搜索功能时,搜索主页大概是这个样式的?底部的热门搜索部分在SE的机型里,会出现被遮挡的情况。这时我们就不能通过IQKeyboardManager来解决了。因为我用的是UISearchBar, 所以刚开始以为不是直接的UITextField,IQKeyboardManager会不起作用。然后我在顶部加上了一个textField作为测试,还是没有效果。于是我只能自己通过监听的方式,当键盘弹起或者消失的时候,去改变我的滚动视图的contentInset。
关键代码
- (void)keyboardWillShow:(NSNotification *)aNotification
{
//获取键盘的高度
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
self.keyboardHeight = keyboardRect.size.height;
//解决SE机型还有键盘遮挡问题
self.scrollview.contentInset = UIEdgeInsetsMake(0, 0, self.keyboardHeight, 0);
}
//当键退出时调用
- (void)keyboardWillHide:(NSNotification *)aNotification
{
self.keyboardHeight = 0;
//解决SE机型还有键盘遮挡问题
self.scrollview.contentInset = UIEdgeInsetsMake(0, 0, self.keyboardHeight, 0);
}
最终效果