UITextField屬性,uitextfield
1.borderStyle
設定邊框樣式,只有設定了才會顯示邊框樣式
text.borderStyle = UITextBorderStyleRoundedRect;typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBorderStyleBezel, UITextBorderStyleRoundedRect } UITextBorderStyle;
2.backgroundColor
設定輸入框的背景顏色,此時設定為白色 如果使用了自訂的背景圖片邊框會被忽略掉
text.backgroundColor = [UIColor whiteColor];
3.background
設定背景,注意只有UITextBorderStyleNone的時候改屬性有效
//UITextField 的背景text.background = [UIImage imageNamed:@"dd.png"];//設定enable為no時,textfield的背景 text.disabledBackground = [UIImage imageNamed:@"cc.png"];
4.placeholder
當輸入框沒有內容時,提示內容為password
text.placeholder = @"password";
5.font
設定輸入框內容的字型樣式和大小
text.font = [UIFont fontWithName:@"Arial" size:20.0f];
6.textColor
設定字型顏色
text.textColor = [UIColor redColor];
7.clearButtonMode
輸入框中是否有個叉號,在什麼時候顯示,用於一次性刪除輸入框中的內容
text.clearButtonMode = UITextFieldViewModeAlways; typedef enum { UITextFieldViewModeNever, //重不出現 UITextFieldViewModeWhileEditing, //編輯時出現 UITextFieldViewModeUnlessEditing, //除了編輯外都出現 UITextFieldViewModeAlways //一直出現} UITextFieldViewMode;
8.text
顯示文字框的內容
text.text = @"一開始就在輸入框的文字";
9.secureTextEntry
每個輸入一個字元就變成點 用來輸入密碼時,設定這個屬性
text.secureTextEntry = YES;
10.autocorrectionType
是否錯誤修正
text.autocorrectionType = UITextAutocorrectionTypeNo;typedef enum { UITextAutocorrectionTypeDefault, //預設 UITextAutocorrectionTypeNo, //不自動錯誤修正 UITextAutocorrectionTypeYes, //自動錯誤修正} UITextAutocorrectionType;
11.clearsOnBeginEditing
再次編輯就清空
text.clearsOnBeginEditing = YES;
12.textAlignment
內容水平對齊
text.textAlignment = UITextAlignmentLeft;
13.contentVerticalAlignment
內容的垂直對齊;UITextField繼承自UIControl,此類中有一個屬性contentVerticalAlignment
text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
14.adjustsFontSizeToFitWidth
設定為YES時文本會自動縮小以適應文字視窗大小;預設是保持原來大小,而讓長文本滾動;
textFied.adjustsFontSizeToFitWidth = YES;//設定自動縮小顯示的最小字型大小text.minimumFontSize = 20;
15.keyboardType
設定鍵盤的樣式
text.keyboardType = UIKeyboardTypeNumberPad;typedef enum { UIKeyboardTypeDefault, //預設鍵盤,支援所有字元 UIKeyboardTypeASCIICapable, //支援ASCII的預設鍵盤 UIKeyboardTypeNumbersAndPunctuation, //標準電話鍵盤,支援+*#字元 UIKeyboardTypeURL, //URL鍵盤,支援.com按鈕 只支援URL字元 UIKeyboardTypeNumberPad, //數字鍵台 UIKeyboardTypePhonePad, //電話鍵盤 UIKeyboardTypeNamePhonePad, //電話鍵盤,也支援輸入人名 UIKeyboardTypeEmailAddress, //用於輸入電子 郵件地址的鍵盤 UIKeyboardTypeDecimalPad, //數字鍵台 有數字和小數點 UIKeyboardTypeTwitter, //最佳化的鍵盤,方便輸入@、#字元 UIKeyboardTypeAlphabet //Alphabet} UIKeyboardType;
16.autocapitalizationType
首字母是否大寫
text.autocapitalizationType = UITextAutocapitalizationTypeNone;typedef enum { UITextAutocapitalizationTypeNone, //不自動大寫 UITextAutocapitalizationTypeWords, //單字首大寫 UITextAutocapitalizationTypeSentences, //句子的首字母大寫 UITextAutocapitalizationTypeAllCharacters, //所有字母都大寫} UITextAutocapitalizationType;
17.returnKeyType
小鍵盤中右下角的return鍵,可以改變成下述類型的鍵
text.returnKeyType =UIReturnKeyDone;typedef enum { UIReturnKeyDefault, //預設灰色按鈕,標有Return UIReturnKeyGo, //標有Go的藍色按鈕 UIReturnKeyGoogle, //標有Google的藍色按鈕,用語搜尋 UIReturnKeyJoin, //標有Join的藍色按鈕 UIReturnKeyNext, //標有Next的藍色按鈕 UIReturnKeyRoute, //標有Route的藍色按鈕 UIReturnKeySearch, //標有Search的藍色按鈕 UIReturnKeySend, //標有Send的藍色按鈕 UIReturnKeyYahoo, //標有Yahoo的藍色按鈕 UIReturnKeyYahoo, //標有Yahoo的藍色按鈕 UIReturnKeyEmergencyCall, //緊急電話按鈕} UIReturnKeyType;
18.keyboardAppearance
鍵盤外觀
textView.keyboardAppearance=UIKeyboardAppearanceDefault;typedef enum { UIKeyboardAppearanceDefault, //預設面板,淺灰色 UIKeyboardAppearanceAlert //深灰 石墨色} UIReturnKeyType;
19.rightView
最右側加入一個UIView
UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];text.rightView=image;text.rightViewMode = UITextFieldViewModeAlways;typedef enum { UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways} UITextFieldViewMode;
20.editing
是否允許編輯
21.delegate
類要遵守UITextFieldDelegate協議text.delegate = self; 聲明text的代理是我,我會去實現把鍵盤往下收的方法 這個方法在UITextFieldDelegate裡所以我們要遵守UITextFieldDelegate這個協議
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ [text resignFirstResponder];//主要是[receiver resignFirstResponder]在哪調用就能把receiver(text)對應的鍵盤往下收 return YES;}- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ return YES;//返回一個BOOL值,YES代表允許編輯,NO不允許編輯}- (void)textFieldDidBeginEditing:(UITextField *)textField{ //開始編輯時觸發,文字欄位將成為first responder } - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{ return NO;//要想在使用者結束編輯時阻止文字欄位消失,可以返回NO }- (void)textFieldDidEndEditing:(UITextField *)textField;{ //上面返回YES後執行;上面返回NO時有可能強制執行(e.g. view removed from window)}
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ return YES;//當使用者使用自動校正功能,把輸入的文字修改為推薦的文字時,就會調用這個方法。}
- (BOOL)textFieldShouldClear:(UITextField *)textField{ return YES;//返回一個BOOL值指明是否允許根據使用者請求清除內容 } -(BOOL)textFieldShouldReturn:(UITextField *)textField{ return YES;//返回一個BOOL值,指明是否允許在按下斷行符號鍵時結束編輯}
22.Notification
UITextField派生自UIControl,所以UIControl類中的通知系統在文字欄位中也可以使用。除了UIControl類的標準事件,你還可以使用下列UITextField類特有的事件
UITextFieldTextDidBeginEditingNotification
UITextFieldTextDidChangeNotification
UITextFieldTextDidEndEditingNotification
當文字欄位退出編輯模式時觸發。通知的object屬性儲存區了最終文本。因為文字欄位要使用鍵盤輸入文字,所以下面這些事件發生時,也會發送動作通知。
UIKeyboardWillShowNotification //鍵盤顯示之前發送
UIKeyboardDidShowNotification //鍵盤顯示之後發送
UIKeyboardWillHideNotification //鍵盤隱藏之前發送
UIKeyboardDidHideNotification //鍵盤隱藏之後發送