搜索功能页面底部内容被遮挡了吗?不用怕

问题:有时我们在做APP的搜索功能时,搜索主页大概是这个样式的?底部的热门搜索部分在SE的机型里,会出现被遮挡的情况。这时我们就不能通过IQKeyboardManager来解决了。因为我用的是UISearchBar, 所以刚开始以为不是直接的UITextField,IQKeyboardManager会不起作用。然后我在顶部加上了一个textField作为测试,还是没有效果。于是我只能自己通过监听的方式,当键盘弹起或者消失的时候,去改变我的滚动视图的contentInset。
搜索功能页面底部内容被遮挡了吗?不用怕_第1张图片
image
关键代码
- (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);
}
最终效果
搜索功能页面底部内容被遮挡了吗?不用怕_第2张图片
根据键盘高度设置后的效果
搜索功能页面底部内容被遮挡了吗?不用怕_第3张图片
键盘退出后效果

你可能感兴趣的:(搜索功能页面底部内容被遮挡了吗?不用怕)