1胚嘲、指定是否允許文本字段開(kāi)始編輯
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
//返回一個(gè)BOOL值肉津,指定是否允許文本字段開(kāi)始編輯,返回NO時(shí)不能喚起鍵盤(pán)進(jìn)行編輯
return YES;
//可以在此處設(shè)置彈出鍵盤(pán)時(shí)頁(yè)面布局
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强胰、開(kāi)始編輯時(shí)觸發(fā)
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
//開(kāi)始編輯時(shí)觸發(fā),文本字段將成為first responder
}
3阀圾、指定是否允許文本字段結(jié)束編輯
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
//返回BOOL值哪廓,指定是否允許文本字段結(jié)束編輯狗唉,當(dāng)編輯結(jié)束初烘,文本字段會(huì)讓出first responder
//要想在用戶結(jié)束編輯時(shí)阻止文本字段消失,可以返回NO
//這對(duì)一些文本字段必須始終保持活躍狀態(tài)的程序很有用分俯,比如即時(shí)消息(發(fā)送之后還是處于編輯狀態(tài)肾筐,繼續(xù)輸入聊天內(nèi)容)
return NO; //一直處于編輯狀態(tài)
}
4、限制輸入缸剪、判斷輸入內(nèi)容等
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//當(dāng)用戶使用自動(dòng)更正功能吗铐,把輸入的文字修改為推薦的文字時(shí),就會(huì)調(diào)用這個(gè)方法杏节』I
//這對(duì)于想要加入撤銷選項(xiàng)的應(yīng)用程序特別有用
//可以跟蹤字段內(nèi)所做的最后一次修改,也可以對(duì)所有編輯做日志記錄,用作審計(jì)用途奋渔∧魇牛
//要防止文字被改變可以返回NO
//這個(gè)方法的參數(shù)中有一個(gè)NSRange對(duì)象,指明了被改變文字的位置嫉鲸,建議修改的文本也在其中
return YES;
}
5撑蒜、指明是否允許根據(jù)用戶請(qǐng)求清除內(nèi)容
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
//返回一個(gè)BOOL值指明是否允許根據(jù)用戶請(qǐng)求清除內(nèi)容
//可以設(shè)置在特定條件下才允許清除內(nèi)容
//返回YES,輸入內(nèi)容后,點(diǎn)擊右邊的清除按鈕可以清除座菠,返回NO狸眼,點(diǎn)擊清除不起作用
return YES;
}
6、指明是否允許在按下回車鍵時(shí)結(jié)束編輯
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
//返回一個(gè)BOOL值浴滴,指明是否允許在按下回車鍵時(shí)結(jié)束編輯
//如果允許要調(diào)用resignFirstResponder 方法拓萌,這會(huì)導(dǎo)致結(jié)束編輯,而鍵盤(pán)會(huì)被收起[textField resignFirstResponder];
//查一下resign這個(gè)單詞的意思就明白這個(gè)方法了
return YES;
}