IOS学习(2)-UITextField

UITextField API

Problems

  • UIKeyboardWillChangeFrameNotification
  • 根据键盘的弹出隐藏自动调整VIEW的位置

Solutions

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
-(void)keyboardWillChangeFrame:(id)sender{
    if (sender&&[sender isKindOfClass:[NSNotification class]]) {
        NSNotification *noti=(NSNotification*)sender;
        NSDictionary *dic=noti.userInfo;
        
        double duration=[dic[UIKeyboardWillChangeFrameNotification]doubleValue];
        CGRect keyboardRect=[dic[UIKeyboardFrameEndUserInfoKey]CGRectValue];
         
        [UIView animateWithDuration:duration animations:^{
            if (keyboardRect.origin.y>=[UIScreen mainScreen].bounds.size.height) {
                CGRect frame=self.textField6.frame;
                frame.origin.y=700;
                self.textField6.frame=frame;
            }else{
                CGRect frame=self.textField6.frame;
                frame.origin.y=keyboardRect.origin.y-frame.size.height-20;
                self.textField6.frame=frame;
            }
        }];
    }
}

你可能感兴趣的:(IOS学习(2)-UITextField)