iOS 關於tableView中有多個textField,輸入框被遮住的解決方法


這里采用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];

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM