美文网首页iOS自定义控件及相关
解决表单被键盘遮住的问题(续)

解决表单被键盘遮住的问题(续)

作者: Matrix_x | 来源:发表于2015-07-16 10:06 被阅读107次
    刚才检查代码的时候 发现了之前代码的一些问题 这里做一下修正 为此我为UIView和UITableView各新增了一个Category方法

    UIView的Category

    - (BOOL) haveSubview:(UIView*)subView
    {
        UIView *v = subView;
        
        while (v)
        {
            if ( self == v )
            {
                return YES;
            }
            
            v = v.superview;
        }
        
        return NO;
    }
    

    UITableVIew的Category

    - (BOOL) haveSubview:(UIView*)subView
    {
        if ( v && [self haveSubview:v] )
        {
            while ( v && ![[v class] isSubclassOfClass:[UITableViewCell class]]) {
                v = v.superview;
            }
            
            if ( v )
            {
                NSLog(@"%@",NSStringFromClass(v.class));
                
                UITableViewCell *cell = (UITableViewCell*)v;
                
                NSLog(@"%@",[self indexPathForCell:cell]);
                
                [self scrollToRowAtIndexPath:[self indexPathForRowAtPoint:cell.center] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
            }
        }
    }
    
    这样 当我们需要处理弹出键盘时 就只需要如此调用就可以了
    UIView *v = [UIResponder currentFirstResponder];
    [self.tableView scrollToView:v];
    

    相关文章

      网友评论

      • B_C_H:你好,请问UIView *v = [UIResponder currentFirstResponder];
        [self.tableView scrollToView:v];这两个方法是什么?我照着做不行

      本文标题:解决表单被键盘遮住的问题(续)

      本文链接:https://www.haomeiwen.com/subject/qhxpqttx.html