這里采用tableView整體上移的方法。
代碼:(其中 60 為 單元格的高度)
//點擊輸入框觸發 - (void)textFieldDidBeginEditing:(UITextField *)textField{ //鍵盤高度 CGFloat keyboardHeight = 216.0f; //獲取tag NSLog(@"hhhhh === %d",textField.tag); //判斷鍵盤高度是否遮住輸入框,具體超過多少距離,移動多少距離(自己算好就可以,不一定和這里一樣) if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < 0 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -60) { [self.tableViews setContentOffset:CGPointMake(0, 50) animated:YES]; } else if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < -60 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -120) { [self.tableViews setContentOffset:CGPointMake(0, 110) animated:YES]; } else if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < -120 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -180) { [self.tableViews setContentOffset:CGPointMake(0, 170) animated:YES]; } } //鍵盤收回觸發 - (void)textFieldDidEndEditing:(UITextField *)textField{ //回歸原處 [self.tableViews setContentOffset:CGPointMake(0, 0) animated:YES]; }
