一.基本屬性設置
1.創建一個文本輸入框
UITextField*textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 30, 300, 30)];
2.設置邊框樣式
textField.borderStyle=
UITextBorderStyleRoundedRect;//圓角
typedef enum{UITextBorderStyleNone,無邊框
UITextBorderStyleLine,有邊框
UITextBorderStyleBezel,有邊框和陰影
UITextBorderStyleRoundedRect圓角
} UITextBorderStyle;
3.背景顏色是文本內容部分的顏色
textField.backgroundColor=
[UIColorblueColor];
4.設置背景圖片
textField.background=[UIImageimageNamed:@"Icon.png"];
5.提示文字
textField.placeholder=
@"請輸入單詞";
6.設置和讀取 文字內容
textField.text = @”我是文本框”;
(也可以編輯之後獲取文本框內容)NSString * str = textField.text;
7.設置字體格式
[textFieldsetFont:[UIFontfontWithName:@"Arial"
size:30]];
NSLog(@"%@",
[UIFontfamilyNames]);//查看字體集
8.密文輸入
textField.secureTextEntry=
YES;
9.鍵盤類型
textField.keyboardType=
UIKeyboardTypeNumberPad;//數字鍵
UIKeyboardTypeDefault,// 當前鍵盤(默認)
UIKeyboardTypeASCIICapable,//字母輸入鍵
UIKeyboardTypeNumbersAndPunctuation,//數字和符號
UIKeyboardTypeURL,URL鍵盤
UIKeyboardTypeNumberPad,數字鍵盤
UIKeyboardTypePhonePad,電話號碼輸入鍵盤
UIKeyboardTypeEmailAddress, //郵件地址輸入鍵盤
} UIKeyboardType;
10.鍵盤風格textView.keyboardAppearance=UIKeyboardAppearanceDefault;
UIKeyboardAppearanceDefault, 默認外觀,淺灰色
UIKeyboardAppearanceAlert, 深灰 石墨色
11.設置彈出視圖(不彈鍵盤彈圖片)
UIImageView* imageView = [[UIImageView
alloc]initWithImage:[UIImageimageNamed:@"Icon.png"]];
imageView.frame= CGRectMake(0,100,320,100);(跟位置和寬無關)
textField.inputView = imageView;
12.設置左視圖
UIView* leftview = [[UIView
alloc]initWithFrame:CGRectMake(0,0,100,100)];//只有寬度起到了作用
textField.leftView = leftview; leftview.backgroundColor = [UIColor purpleColor];
要設置左視圖模式
textField.leftViewMode = UITextFieldViewModeAlways;
13還可以設置右視圖textField.rightView = rightView;
textField.rightViewMode = UITextFieldViewModeAlways;、、
這個右視圖模式會影響清除按鈕模式
14.設置清除按鈕模式textField.clearButtonMode=UITextFieldViewModeAlways;//出現小叉子
typedef enum{UITextFieldViewModeNever,、、從不出現
UITextFieldViewModeWhileEditing,編輯時顯示
UITextFieldViewModeUnlessEditing,不編輯時
UITextFieldViewModeAlways 總是顯示
} UITextFieldViewMode;
/*******************************************************/
15.再次編輯時是否清空之前內容;默認NO;text2.clearsOnBeginEditing= YES;
16.編輯內容時垂直對齊方式text2.contentVerticalAlignment=
UIControlContentVerticalAlignmentCenter;//劇中顯示、默認是top顯示對齊
文字內容劇中顯示
text2.textAlignment= UITextAlignmentCenter;17設置滾動
text2.font= [UIFontsystemFontOfSize:30];//可以設置文字大小
text2.adjustsFontSizeToFitWidth= YES;//默認是NO YES當充滿邊框時,文字會縮小,當小到⼀一定程度時仍然會滾動;自適應寬度;
//設置滾動時最小字號(與滾動相關)(前提:要比設置的字體小,否則沒有意義)
text2.minimumFontSize= 20;(沒有設置這⼀一項文字也會縮小和滾動)
18.設置return鍵
text2.returnKeyType = UIReturnKeyGoogle;search typedef enum {
UIReturnKeyDefault,默認 灰色按鈕,標有Return
UIReturnKeyGo,標有Go的藍色按鈕
UIReturnKeyGoogle,標有Google的藍色按鈕,用語搜索
UIReturnKeyJoin,標有Join的藍色按鈕
UIReturnKeyNext,標有Next的藍色按鈕
UIReturnKeyRoute,標有Route的藍色按鈕
UIReturnKeySearch,標有Search的藍色按鈕
UIReturnKeySend,標有Send的藍色按鈕
UIReturnKeyYahoo,標有Yahoo的藍色按鈕
UIReturnKeyYahoo,標有Yahoo的藍色按鈕
UIReturnKeyEmergencyCall,緊急呼叫按鈕
} UIReturnKeyType;
19.首字母是否大寫
text2.autocapitalizationType=
UITextAutocapitalizationTypeAllCharacters;//所有字母大寫
typedef enum {
UITextAutocapitalizationTypeNone, 不自動大寫
UITextAutocapitalizationTypeWords,單詞首字母大寫
UITextAutocapitalizationTypeSentences,句子的首字母大寫
UITextAutocapitalizationTypeAllCharacters,所有字母都大寫
二 關於文本編輯框設置代理
a.//是否可以進入編輯模式(是否可進入輸入狀態)
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
} UITextAutocapitalizationType;
/************************************/
return YES;//NO進入不了編輯模式}
b.//進入編輯模式
- (void)textFieldDidBeginEditing:(UITextField*)textField{
NSLog(@"進入編輯模式時調用");}
c.//是否退出編輯模式(是否可以結束輸入狀態)
- (BOOL)textFieldShouldEndEditing:(UITextField
*)textField{
return YES;//NO退出不了編輯模式
}
d.//退出編輯模式//結束輸入狀態後調用
- (void)textFieldDidEndEditing:(UITextField*)textField{
NSLog(@"退出編輯模式");}
e.//是否可以點擊清除按鈕
- (BOOL)textFieldShouldClear:(UITextField*)textField{
//textField.text = @"已經清除";return NO;//NO不清除
}
f. //點擊鍵盤上Return按鈕時候調用
- (BOOL)textFieldShouldReturn:(UITextField*)textField{
//官方 取消第⼀一響應者(就是退出編輯模式收鍵盤)
[textField resignFirstResponder]; return YES; }
g.//當輸入任何字符時,代理調用該方法
-(BOOL)textField:(UITextField *)fieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString *)string
//當輸入任何字符時,代理調用該方法,如果返回YES則這次輸入可以成功,如果返回NO,不能輸入成功
//range表示光標位置,只有location,length
== 0;//string表示這次輸入的字符串。
{
NSLog(@"range
= %@ string
= %@",NSStringFromRange(range),string);
return str.length < 10;//textField.text超過了10個字符,返回NO,不讓輸入成功。(最多輸入10個)
//textField.text輸入後不到10個字符,返回YES,使輸入成功。return YES;
}