iOS 가 개발 한 table View 의 cell 에는 textField 가 있 고 키보드 가 나타 날 때 자동 으로 위로 이동 합 니 다.

다음으로 전송:http://blog.csdn.net/yo_yo_yang / article / details / 51384421 먼저 ios 4 이후 UITableView Cell 에 UITextfield 가 있 으 면 입력 할 때 키보드 가 UITextField 를 가리 고 UITableView 는 자동 으로 위로 이동 합 니 다. tableView 를 자동 으로 스크롤 시 키 려 면 tableView 의 contentInset 을 설정 해 야 합 니 다.다음은 실현 절 차 를 소개 한다. 먼저 키보드 가 나타 나 고 사라 지 는 것 을 감청 한다.
//         
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];```

           :

pragma mark 키보드 출현
-(void)keyboardWillShow:(NSNotification *)note { CGRect keyBoardRect=[note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; self.tableView.contentInset = UIEdgeInsetsMake(0, 0, keyBoardRect.size.height, 0); }
pragma mark 키보드 사라 짐
-(void)keyboardWillHide:(NSNotification *)note { self.tableView.contentInset = UIEdgeInsetsZero; }
            ,              tableView frame          ,     ,  :

pragma mark 키보드 출현
-(void)keyboardWillShow:(NSNotification *)note { CGRect keyBoardRect=[note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; self.tableView.frame = CGRectMake(0, 64, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 64 - keyBoardRect.size.height); }
pragma mark 키보드 사라 짐
-(void)keyboardWillHide:(NSNotification *)note { self.tableView.frame = CGRectMake(0, 64, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 64); }
       ,demo    :(https://github.com/yybchl/yoyo.git) 

좋은 웹페이지 즐겨찾기