簡單說明:此控件一般用于用戶的賬戶,密碼,驗證碼等需要輸入簡短內(nèi)容的輸入窗口
(由于剛剛學(xué)完控件部分,所以最近幾篇都是關(guān)于各控件的介紹..)
UITextView與UITextField間的主要區(qū)別在于:UITextField可以設(shè)置InputText的相關(guān)屬性,例如可以設(shè)置SecureInput等相關(guān)屬性,而UITextView只能實現(xiàn)基本的文本輸入的功能,幾乎無法設(shè)置內(nèi)容屬性。
UITextField *TF = [[UITextField alloc] initWithFrame:CGRectMke(90,100,140,25)]; //UITextField 初始化:
[self.window addSubview:TF]; // 添加到視圖
TF.textColor = [UIColor redColor]; // 輸入的字體顏色
TF.delegate = self; //設(shè)置代理,要在.h文件上添加代理 @interface AppDelegate:UIResponder <UIapplicationDelegate,UITextFieldDelegate>
(代理的用處: 1.監(jiān)聽那些不能通過addTarget監(jiān)聽的事件!
2.主要用來負(fù)責(zé)在兩個對象之間,發(fā)生某些事件時,來傳遞消息或者數(shù)據(jù))
TF.placeholder = @“請輸入密碼: ”; // 當(dāng)沒有輸入內(nèi)容時,有水印字體提示
TF.textColor = [UIColor reColor ]; //輸入字體的顏色
TF.secureTextEntry = YES; //輸入內(nèi)容是否可見
TF.tag = 101; // 給個tag值
TF.adjustsFontSizeToFitWidth = YES; //當(dāng)輸入字符長度大于框架長度時,自動縮小字符以適應(yīng)框架長度
TF.background = [UIImage imageNamed:@“***.jpg”]; //背景,當(dāng)使用圖片為背景時,需要把TF.borderStyle設(shè)置為None
TF.backgroundColor = [UIColor yellowColor]; //當(dāng)背景為顏色時,TF.borderStyle不能設(shè)為None
TF.borderStyle = UITextBorderStyleNone; //沒有樣式,直角邊框
UITextBorderStyleLine; //邊框為黑邊,直角邊框
UITextBorderStyleBezel; //有點陰影,直角邊框
UITextBorderStyleRoundedRect; // 圓角框
[TF becomeFirstResponder]; // 當(dāng)渲染視圖后,TF自動成為第一響應(yīng)者,彈出鍵盤,也可以在代理方法里進(jìn)行
// 輸入框里的叉號,出現(xiàn)形式
TF.clearButtonMode = UITextFieldViewModeWhileEding; // 編輯時出現(xiàn)
UITextFieldViewModeNever; //從不出現(xiàn)
UITextFieldViewModeUnlessEditing; // 除了編輯時,其他時間都出現(xiàn)
UITextFieldViewModeAlways; // 一直都出現(xiàn)
TF.autocorrectionType = UITextAutocorrectionTypeNo; //不自動糾錯
UITextAutocorrectionTypeDefault; //默認(rèn)
UITextAutocorrectionTypeYes; //自動糾錯
TF.clearsOnBeginEditing = YES; //重新點擊編輯時,是否清空上次輸入的內(nèi)容,后面也有代理方法
//設(shè)置彈出的鍵盤的類型
TF.keyboardType = UIKeyboardTypeDefault; //默認(rèn)鍵盤,支持所有字符
UIKeyboardTypeASCIICapable; //支持ASCII的默認(rèn)鍵盤
UIKeyboardTypeNumbersAndPunctuation ; //標(biāo)準(zhǔn)電話鍵盤,支持+*#字符
UIKeyboardTypeURL; //URL鍵盤,支持.com按鈕 只支持URL字符
UIKeyboardTypeNumberPad; //數(shù)字鍵盤
UIKeyboardTypePhonePad; //電話鍵盤
UIKeyboardTypeNamePhnoePad; //電話鍵盤,也支持輸入人名
UIKeyboardTypeEmailAddress; //電子郵件鍵盤
UIKeyboardTypeDecimalPad; //數(shù)字鍵盤,有小數(shù)點
UIKeyboardTypeTwitter; //優(yōu)化鍵盤
//首字母是否大寫
TF.autocapitalizationType = UITextAutocapitalizationTypeNone; //不自動大寫
UITextAutocapitalizationTypeWords,; //單詞首字母大寫
UITextAutocapitalizationTypeSentences; //句子的首字母大寫
UITextAutocapitalizationTypeAllCharacters; // 所有字母都大寫
//return鍵變成什么鍵
TF.returnKeyType =UIReturnKeyDone; //標(biāo)有Done的藍(lán)色按鈕
UIReturnKeyDefault; //默認(rèn) 灰色按鈕,標(biāo)有Return
UIReturnKeyGo; //標(biāo)有Go的藍(lán)色按鈕
UIReturnKeyGoogle; //標(biāo)有Google的藍(lán)色按鈕,用語搜索
UIReturnKeyJoin; //標(biāo)有Join的藍(lán)色按鈕
UIReturnKeyNext; //標(biāo)有Next的藍(lán)色按鈕
UIReturnKeyRoute; //標(biāo)有Route的藍(lán)色按鈕
UIReturnKeySearch; //標(biāo)有Search的藍(lán)色按鈕
UIReturnKeySend; //標(biāo)有Send的藍(lán)色按鈕
UIReturnKeyYahoo; //標(biāo)有Yahoo的藍(lán)色按鈕
UIReturnKeyYahoo; //標(biāo)有Yahoo的藍(lán)色按鈕
UIReturnKeyEmergencyCall; //緊急呼叫按鈕
//UITextField的代理方法 (需要先設(shè)置代理) 注意是否要設(shè)置返回值
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; //當(dāng)用戶點擊到,并準(zhǔn)備開始編輯內(nèi)容時,使用方法,一邊是彈出窗口
- (void)textFieldDidBeginEditing:(UITextField *)textField; //當(dāng)用戶開始編輯時,使用此代理方法
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField; //當(dāng)用戶準(zhǔn)備結(jié)束編輯時,使用此代理方法
- (void)textFieldDidEndEditing:(UITextField *)textField; //當(dāng)用戶結(jié)束編輯時,使用此代理方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (range.location >= 6) {
return NO;
}else
return YES;
} // 當(dāng)用戶使用自動更正功能,把輸入的文字修改為推薦的文字時,又或者限制輸入長度時, 就會調(diào)用這個方法。
- (BOOL)textFieldShouldClear:(UITextField *)textField; //當(dāng)使用清除輸入內(nèi)容功能時,使用此代理方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField; //當(dāng)點擊鍵盤里的Return收起鍵盤時,使用此代理方法
(可能學(xué)得比較淺,大家要是有補充可以留言,有問題的大家一起探討下,可以私下聯(lián)系:QQ790444804 微信:hgwchihuo
-------我是快樂的小尾巴`(*∩_∩*)&PRime;)
新聞熱點
疑難解答