带有导航栏的控制器上键盘挡住输入框的解决方案

   本人用 textFile的代理做时,不知道是不是因为有导航栏的原因,导致输入框,控制器的view都会抖一下,虽然有效    果了,但是这么大的BUG还是不能忍。
   本文采用的是代理和点击事件

 [field addTarget:self action:@selector(textFieldDidBeginEditing:) forControlEvents:UIControlEventEditingDidBegin];

    [field addTarget:self action:@selector(textFieldDidEndEditing:) forControlEvents:UIControlEventEditingDidEnd];

    

   

-(void)textFieldDidBeginEditing:(UITextField *)textField{

    if (iPhone4 || iPhone5) {

        

    

    //开始编辑时,整体上移

       if (textField.tag==3) {

          [self moveView:-40];

        }

    }

}

-(void)textFieldDidEndEditing:(UITextField *)textField{

    

    if (iPhone4 || iPhone5) {

        //结束编辑时,整体下移

       if (textField.tag==3) {

          [self moveView:40];

        }

        

    }

}

-(void)moveView:(float)move{

   

    CGRect frame = self.view.frame;

    frame.origin.y +=move;

    //self.view.frame = frame;

    [UIView beginAnimations:@"ResizeView" context:nil];

    self.view.frame = frame;

    [UIView commitAnimations];//设置调整界面的动画效果

    

    

}



#pragma mark UITextFiled的代理方法,为的是输入后点击return能让键盘退下去

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

    [textField endEditing:YES];

    [textField resignFirstResponder];

    return YES;



}



你可能感兴趣的:(带有导航栏的控制器上键盘挡住输入框的解决方案)