您的位置:首页 > 产品设计 > UI/UE

UITextField键盘弹出调整承载textField的视图使其不被遮挡

2015-09-30 16:01 357 查看
.........UITextField键盘弹出调整承载textField的视图使其不被遮挡......

- (void)viewDidLoad{

... // 1.通知中心添加观察者,监听键盘是否弹出

  [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillAppear:) name:UIKeyboardWillShowNotification object:nil];

  [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillDisappear:) name:UIKeyboardWillHideNotification object:nil];

}

 // 2.键盘弹出时候,调整视图高度

-(void)keyboardWillAppear:(NSNotification *)notification{

    CGRect currentFrame = _themeTableView.frame;

    CGFloat change = [self keyboardEndingFrameHeight:[notification userInfo]];

    currentFrame.origin.y = currentFrame.origin.y - change ;

    _themeTableView.frame = currentFrame;

}

// 3.当键盘消失后,视图需要恢复原状。

-(void)keyboardWillDisappear:(NSNotification *)notification{

    CGRect currentFrame = _themeTableView.frame;

    CGFloat change = [self keyboardEndingFrameHeight:[notification userInfo]];

    currentFrame.origin.y = currentFrame.origin.y + change ;

    _themeTableView.frame = currentFrame;

}

// 4.计算键盘的高度

-(CGFloat)keyboardEndingFrameHeight:(NSDictionary *)userInfo{

    CGRect keyboardEndingUncorrectedFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue];

    CGRect keyboardEndingFrame = [_themeTableView convertRect:keyboardEndingUncorrectedFrame fromView:nil];

    return keyboardEndingFrame.size.height;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios UITextField