ios关于键盘遮挡的简单方法

1 利用UIScrollview 的设置使得整体上移

把控件都放在scrollview上面,然后利用当用户点击的时候,设置scrollview 的CGPointMake(scroll.contentOffset.x, y+100)就可以达到效-(void)textFieldDidB

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    UIScrollView *scroll=(UIScrollView *)self.superview;
    float y = 200;
    [scroll setContentOffset:CGPointMake(scroll.contentOffset.x, y+100) animated:YES];
    
    
}

- (void)textFieldDidEndEditing:(UITextField *)textField {
    
    
    UIScrollView *scroll = (UIScrollView *)self.superview;
    [scroll setContentOffset:CGPointMake(scroll.contentOffset.x, 0) animated:YES];
    return;
}
记得这些都是放在scrollview上的控件,

2 第二中的方法是利用就是把父类的view整体上移,

#pragma mark textKeyBoardHeight method
//先响应Textfiled方法,因为有多个控件,所以利用tag区分
-(void)textFieldDidBeginEditing:(UITextField *)textField{

    [self slideFrameUp:nil withTag:textField.tag];
}

-(void)textFieldDidEndEditing:(UITextField *)textField{
    
    [self slideFrameDown:nil withTag:textField.tag];
}
//设置上移还是下降
-(void) slideFrameUp:(id)up withTag:(NSInteger)tag
{
    [self slideFrame:YES withTag:tag];
}

-(void) slideFrameDown:(id)down withTag:(NSInteger)tag
{
    [self slideFrame:NO withTag:tag];
}

-(void) slideFrame:(BOOL) up withTag:(NSInteger)tag
{//设置上移的多少
    int movementDistance=1;
    if (tag==3) {
        movementDistance =70;
    }else if (tag==4){
        movementDistance = 100; // tweak as needed
    }//判断是上移还是下降
    const float movementDuration = 0.3f; // tweak as needed
    int movement = (up ? -movementDistance : movementDistance);
    //动画设置
    [UIView beginAnimations: @"anim" context: nil];
    [UIView setAnimationBeginsFromCurrentState: YES];
    [UIView setAnimationDuration: movementDuration];
    self.frame = CGRectOffset(self.frame, 0, movement);
    [UIView commitAnimations];
}
上面就是简单的不被键盘遮挡的方法,


转载于:https://www.cnblogs.com/zhangsongbai/archive/2013/05/04/3102595.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值