iphone中键盘的显示和隐藏

============================================================
博文原创,转载请声明出处
电子咖啡(原id蓝岩)
============================================================
ios不比android,没返回键,需要自己隐藏键盘,下面是我常用的方法,分享给大家

textfile开始编辑事件为“Editing did Begin” ,结束事件为“Did end on exit”

方法一

- (IBAction)exitKeyboard:(id)sender {
    [sender resignFirstResponder];
    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];
    [UIView setAnimationDuration:0.30f];
    CGRect frame = self.view.frame;      
    frame.origin.y +=216;        
    frame.size. height -=216;     
    self.view.frame = frame;  
    [UIView commitAnimations];
}

- (IBAction)editBegin:(id)sender {
    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];
    [UIView setAnimationDuration:0.30f];   
    CGRect frame = self.view.frame;  
    frame.origin.y -=216;  
    frame.size.height +=216;  
    self.view.frame = frame; 
    
    [UIView commitAnimations];
}
 



方法二

-(IBAction) slideFrameUp
{
    [self slideFrame:YES];
}

-(IBAction) slideFrameDown
{
    [self slideFrame:NO];
}


-(void) slideFrame:(BOOL) up
{
    const int movementDistance = 60; // 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.view.frame = CGRectOffset(self.view.frame, 0, movement);
    [UIView commitAnimations];
}

注,此方法,如果用navigationViewController push到下一View的时候,需要 添加下面代码,将textfiled的状态取消,否则pop回来时候,view的未知会有问题,或者键盘不隐藏

[tfPwd resignFirstResponder];
 [tfAccount resignFirstResponder];




你可能感兴趣的:(iphone中键盘的显示和隐藏)