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?
(代理的用處: 1.監(jiān)聽那些不能通過addTarget監(jiān)聽的事件疮跑!
2.主要用來負責(zé)在兩個對象之間娱据,發(fā)生某些事件時医吊,來傳遞消息或者數(shù)據(jù))
TF.placeholder?=?@“請輸入密碼:?”赂蕴;//?當沒有輸入內(nèi)容時茄菊,有水印字體提示
TF.textColor?=?[UIColor??reColor?];//輸入字體的顏色
TF.secureTextEntry?=?YES;//輸入內(nèi)容是否可見
TF.tag?=?101;//?給個tag值
TF.adjustsFontSizeToFitWidth?=?YES;//當輸入字符長度大于框架長度時诵棵,自動縮小字符以適應(yīng)框架長度
TF.background?=?[UIImage?imageNamed:@“***.jpg”];//背景抠蚣,當使用圖片為背景時,需要把TF.borderStyle設(shè)置為None
TF.backgroundColor?=?[UIColor?yellowColor];//當背景為顏色時履澳,TF.borderStyle不能設(shè)為None
TF.borderStyle?=?UITextBorderStyleNone;//沒有樣式嘶窄,直角邊框
UITextBorderStyleLine;//邊框為黑邊,直角邊框
UITextBorderStyleBezel距贷;//有點陰影柄冲,直角邊框
UITextBorderStyleRoundedRect;//?圓角框
[TF?becomeFirstResponder];//?當渲染視圖后忠蝗,TF自動成為第一響應(yīng)者现横,彈出鍵盤,也可以在代理方法里進行
//?輸入框里的叉號,出現(xiàn)形式
TF.clearButtonMode?=?UITextFieldViewModeWhileEding;//?編輯時出現(xiàn)
UITextFieldViewModeNever戒祠;//從不出現(xiàn)
UITextFieldViewModeUnlessEditing骇两;//?除了編輯時,其他時間都出現(xiàn)
UITextFieldViewModeAlways姜盈;//?一直都出現(xiàn)
TF.autocorrectionType?=?UITextAutocorrectionTypeNo;//不自動糾錯
UITextAutocorrectionTypeDefault;//默認
UITextAutocorrectionTypeYes;//自動糾錯
TF.clearsOnBeginEditing?=?YES;//重新點擊編輯時低千,是否清空上次輸入的內(nèi)容,后面也有代理方法
//設(shè)置彈出的鍵盤的類型
TF.keyboardType?=?UIKeyboardTypeDefault馏颂;//默認鍵盤示血,支持所有字符
UIKeyboardTypeASCIICapable;//支持ASCII的默認鍵盤
UIKeyboardTypeNumbersAndPunctuation?;//標準電話鍵盤,支持+*#字符
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;//標有Done的藍色按鈕
UIReturnKeyDefault近上;//默認?灰色按鈕,標有Return
UIReturnKeyGo;//標有Go的藍色按鈕
UIReturnKeyGoogle;//標有Google的藍色按鈕拂铡,用語搜索
UIReturnKeyJoin;//標有Join的藍色按鈕
UIReturnKeyNext;//標有Next的藍色按鈕
UIReturnKeyRoute;//標有Route的藍色按鈕
UIReturnKeySearch;//標有Search的藍色按鈕
UIReturnKeySend;//標有Send的藍色按鈕
UIReturnKeyYahoo;//標有Yahoo的藍色按鈕
UIReturnKeyYahoo;//標有Yahoo的藍色按鈕
UIReturnKeyEmergencyCall;//緊急呼叫按鈕
//UITextField的代理方法??(需要先設(shè)置代理)?? 注意是否要設(shè)置返回值
-?(BOOL)textFieldShouldBeginEditing:(UITextField?*)textField;//當用戶點擊到壹无,并準備開始編輯內(nèi)容時,使用方法感帅,一邊是彈出窗口
-?(void)textFieldDidBeginEditing:(UITextField?*)textField;//當用戶開始編輯時斗锭,使用此代理方法
-?(BOOL)textFieldShouldEndEditing:(UITextField?*)textField;//當用戶準備結(jié)束編輯時,使用此代理方法
-?(void)textFieldDidEndEditing:(UITextField?*)textField;//當用戶結(jié)束編輯時失球,使用此代理方法
-?(BOOL)textField:(UITextField?*)textField?shouldChangeCharactersInRange:(NSRange)range?replacementString:(NSString?*)string
{
if?(range.location?>=?6)?{
return?NO;
}else
return?YES;
}//?當用戶使用自動更正功能岖是,把輸入的文字修改為推薦的文字時,又或者限制輸入長度時实苞,?就會調(diào)用這個方法豺撑。
-?(BOOL)textFieldShouldClear:(UITextField?*)textField;//當使用清除輸入內(nèi)容功能時,使用此代理方法
-?(BOOL)textFieldShouldReturn:(UITextField?*)textField;//當點擊鍵盤里的Return收起鍵盤時黔牵,使用此代理方法
鍵盤的彈出及消失流程:
以UITextField的鍵盤彈出順序為例:
先是[textField becomeFirstResponsder]----------->
調(diào)用textField的代理事件(textFieldShouldBeginEditing)----------->
假如textFieldShouldBeginEditing返回YES聪轿,,調(diào)用代理事件textFieldDidBeginEditing,那么[textField
isFirstResponsder]返回YES------------>
鍵盤開始彈出猾浦,發(fā)送鍵盤出現(xiàn)通知 UIKeyboardWillShowNotification,當鍵盤完全出現(xiàn)在屏幕上時陆错,發(fā)送UIKeyboardDidShowNotification
鍵盤消失順序(與彈出順序類似):
先是[textField resignFirstResponsder]----------->
調(diào)用(textFieldShouldEndEditing)--------------->
假如textFieldShouldEndEditing返回YES,調(diào)用textFieldDidEndEditing,[textField isFirstResponsder]返回NO金赦,------------->
鍵盤消失音瓷,發(fā)送鍵盤消失通知 UIKeyboardWillHideNotification,當鍵盤完全消失在屏幕上時夹抗,發(fā)送UIKeyboardDidHideNotification