UITextField委托方法?

1、指定是否允許文本字段開始編輯

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{ 
    //返回一個BOOL值,指定是否允許文本字段開始編輯,返回NO時不能喚起鍵盤進行編輯
    return YES; 
//可以在此處設置彈出鍵盤時頁面布局
CGRect newTFRect = [textField convertRect:textField.bounds toView:self.view];
    CGFloat dist = (ScreenHeight - 216) - (newTFRect.origin.y + newTFRect.size.height + 100);

    if (dist < 0) {
        [UIView animateWithDuration:0.3 animations:^{
            self.view.bounds = CGRectMake(0, -dist, self.view.bounds.size.width, self.view.bounds.size.height);
        }];
    }

    return YES;
} 

2、開始編輯時觸發

- (void)textFieldDidBeginEditing:(UITextField *)textField
{ 
   //開始編輯時觸發,文本字段將成為first responder 
} 

3、指定是否允許文本字段結束編輯

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{ 
    //返回BOOL值,指定是否允許文本字段結束編輯,當編輯結束,文本字段會讓出first responder 
  //要想在用戶結束編輯時阻止文本字段消失,可以返回NO 
  //這對一些文本字段必須始終保持活躍狀態的程序很有用,比如即時消息(發送之后還是處于編輯狀態,繼續輸入聊天內容)
  
    return NO; //一直處于編輯狀態
} 

4、限制輸入、判斷輸入內容等

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{ 
//當用戶使用自動更正功能,把輸入的文字修改為推薦的文字時,就會調用這個方法。 
//這對于想要加入撤銷選項的應用程序特別有用 
//可以跟蹤字段內所做的最后一次修改,也可以對所有編輯做日志記錄,用作審計用途。   
//要防止文字被改變可以返回NO 
//這個方法的參數中有一個NSRange對象,指明了被改變文字的位置,建議修改的文本也在其中 
 
    return YES; 
} 

5、指明是否允許根據用戶請求清除內容

- (BOOL)textFieldShouldClear:(UITextField *)textField
{ 
   //返回一個BOOL值指明是否允許根據用戶請求清除內容 
  //可以設置在特定條件下才允許清除內容 
   //返回YES,輸入內容后,點擊右邊的清除按鈕可以清除,返回NO,點擊清除不起作用
    return YES; 
} 

6、指明是否允許在按下回車鍵時結束編輯

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{ 
//返回一個BOOL值,指明是否允許在按下回車鍵時結束編輯 
 //如果允許要調用resignFirstResponder 方法,這會導致結束編輯,而鍵盤會被收起[textField resignFirstResponder];
//查一下resign這個單詞的意思就明白這個方法了 
    return YES; 
} 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容