UITextField詳解
一、基本屬性
1、創建文本輸入框
UITextField*textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 10, 200, 20)];
2、設置邊框樣式
textField.borderStyle = UITextBorderStyleRoundedRect;//圓角
可選屬性:
UITextBorderStyleNone,無邊框
UITextBorderStyleLine,有邊框
UITextBorderStyleBezel,有邊框和陰影
UITextBorderStyleRoundedRect圓角
3、設置背景顏色
textField.backgroundColor = [UIColor blueColor];
4、設置背景圖片
textField.background=[UIImage imageNamed:@"test.png"];
5、提示文字
textField.placeholder = @"請輸入";
6、設置和讀取文字內容
textField.text = @”hello”;
NSString * str = textField.text;
7、設置字體
[textField setFont:[UIFont fontWithName:@"Arial" size:30]];
NSLog(@"%@", [UIFont familyNames]); 查看字體集
8、密文輸入
textField.secureTextEntry = YES;
9、鍵盤類型
textField.keyboardType = UIKeyboardTypeNumberPad; 數字鍵
UIKeyboardTypeDefault, 當前鍵盤(默認)
UIKeyboardTypeASCIICapable, 字母輸入鍵
UIKeyboardTypeNumbersAndPunctuation, 數字和符號
UIKeyboardTypeURL, URL鍵盤
UIKeyboardTypeNumberPad, 數字鍵盤
UIKeyboardTypePhonePad, 電話號碼輸入鍵盤
UIKeyboardTypeEmailAddress, 郵件地址輸入鍵盤
10、鍵盤風格
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
可選屬性
UIKeyboardAppearanceDefault, 默認外觀,淺灰色
UIKeyboardAppearanceAlert, 深灰 石墨色
11、設置自定義鍵盤
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320.300)];
//位置和寬由系統決定。
textField.inputView = customView ;
inputAccessoryView 設置系統鍵盤或自定義鍵盤上的視圖
12、設置左右視圖
UITextField 可以直接設置 leftView 或 rightView, 文本輸入區域就在 leftView 和 rightView 之間。
textField.leftView = leftview;
textField.leftViewMode = UITextFieldViewModeAlways;
右視圖rightView也是一樣,Mode有四種
UITextFieldViewModeNever, 從不出現
UITextFieldViewModeWhileEditing 編輯時顯示
UITextFieldViewModeUnlessEditing 不編輯時顯示
UITextFieldViewModeAlways 總是顯示
13、設置清除按鈕顯示模式
textField.clearButtonMode = UITextFieldViewModeAlways;
Mode同左右視圖的mode一樣。
14、再次編輯時是否清空之前內容;默認NO
textField.clearsOnBeginEditing = YES
15、對齊方式
垂直對齊:
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter
可選屬性:
UIControlContentVerticalAlignmentCenter 居中對齊
UIControlContentVerticalAlignmentTop 頂部對齊,默認是頂部對齊
UIControlContentVerticalAlignmentBottom 底部對齊
UIControlContentVerticalAlignmentFill 完全填充
水平對齊:
textField.textAlignment = UITextAlignmentCenter;
可選屬性:
UITextAlignmentLeft,左對齊,默認是左對齊
UITextAlignmentCenter,
UITextAlignmentRight,右對齊
16、 設置滾動
textField.font = [UIFont systemFontOfSize:30]; 設置文字大小
textField.adjustsFontSizeToFitWidth = YES; 默認是NO YES當充滿邊框時,文字會縮小,當小到一定程度時仍然會滾動;自適應寬度;
設置滾動時最小字號,與滾動相關,要比設置的字體小,否則沒有意義,沒有設置這一項文字也會縮小和滾動
textField.minimumFontSize = 20;
17、設置return鍵
textField.returnKeyType = UIReturnKeyGoogle;search
可選屬性
UIReturnKeyDefault, 默認 灰色按鈕,標有Return
UIReturnKeyGo, 標有Go的藍色按鈕
UIReturnKeyGoogle,標有Google的藍色按鈕,用語搜索
UIReturnKeyJoin,標有Join的藍色按鈕
UIReturnKeyNext,標有Next的藍色按鈕
UIReturnKeyRoute,標有Route的藍色按鈕
UIReturnKeySearch,標有Search的藍色按鈕
UIReturnKeySend,標有Send的藍色按鈕
UIReturnKeyYahoo,標有Yahoo的藍色按鈕
UIReturnKeyYahoo,標有Yahoo的藍色按鈕
UIReturnKeyEmergencyCall, 緊急呼叫按鈕
18、設置輸入自動糾正模式
textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
可選屬性:
UITextAutocapitalizationTypeNone, 不自動糾正
UITextAutocapitalizationTypeWords, 單詞首字母大寫
UITextAutocapitalizationTypeSentences, 句子的首字母大寫
UITextAutocapitalizationTypeAllCharacters, 所有字母都大寫
二、文本編輯框代理
1、是否進入編輯模式
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
默認返回YES,進入編輯模式。NO不進入編輯模式
2、進入編輯模式
- (void)textFieldDidBeginEditing:(UITextField *)textField
3、是否退出編輯模式
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
默認返回YES,退出編輯模式。NO不退出編輯模式
4、退出編輯模式
- (void)textFieldDidEndEditing:(UITextField *)textField
5、點擊清除按鈕是否清除
- (BOOL)textFieldShouldClear:(UITextField *)textField
默認返回YES,返回NO不清除
6、點擊鍵盤上Return按鈕時候調用
- (BOOL)textFieldShouldReturn:(UITextField *)textField
7、當輸入任何字符時,代理調用該方法
-(BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
當輸入字符時,代理調用該方法,如果返回YES則這次輸入可以成功,如果返回NO,不能輸入成功。range表示光標位置,string表示這次輸入的字符串。
