iOS UITextField 講解 base

一.基本屬性設置

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章