1. 程式人生 > >iOS開發UITextField常用屬性歸納:文字框樣式、文字樣式、鍵盤樣式、左右檢視樣式、清除按鈕設定等

iOS開發UITextField常用屬性歸納:文字框樣式、文字樣式、鍵盤樣式、左右檢視樣式、清除按鈕設定等

轉載自:http://blog.csdn.net/weisubao/article/details/39609579

(1)可以根據需要設定文字框的樣式(包括形狀、邊框顏色、背景等)。

(2)可以根據需要設定文字顯示樣式(包括輸入密碼時的密文顯示、文字橫向居中、縱向居中上下、輸入的文字是否首席木大寫、文字超過後是否縮小還是向右滾動等)。

(3)可以根據需要設定各種不同的鍵盤樣式(只有數字、只有字母等等)。

(4)還有inputView可以彈出一個檢視,用於取代彈出鍵盤,暫時不知道什麼用處,但貌似可以用得地方很多啊。

(5)還有return的樣式設定,可以設定為Google也可以設定為Go和Search等更形象的按鈕。

(6)還有一個clearsOnBeginEditing是否設定清除按鈕也很常用。

(7)還有用得比較多得估計是左右檢視,也就是我們常見的使用者名稱和密碼的前面還有一個小icon圖片表示使用者的“小人”和表示密碼的“鎖”的圖片,用左右檢視可以載入進來,當然最後要記得設定左右檢視模式為Always,不然預設是Never不顯示的。

  1. - (void)viewDidLoad {  
  2.     //textfiled1本想是textField1的,但不影響
  3.     UITextField *textFiled1=[[UITextField alloc]init];  
  4.     //此時textField1已存在,但因為是透明背景,所以看不見,但是點選那塊地方會發現游標閃爍可寫
  5.     //為了證明是透明背景而不是白色背景,我們可以設定self.view背景為紅色,看看textField1是白色還是透明色
  6. //    self.view.backgroundColor=[UIColor redColor];
  7.     textFiled1.frame=CGRectMake(103030030);  
  8.     //設定邊框樣式
  9.     //UITextBorderStyleRoundedRect-圓角矩形,背景是白色,不再是透明的
  10.     //UITextBorderStyleLine-矩形,黑色邊框,透明背景
  11.     //UITextBorderStyleBezel-和上面類似,但是是灰色的邊框,背景透明
  12.     textFiled1.borderStyle=UITextBorderStyleRoundedRect;  
  13.     //設定背景顏色,會覆蓋上面圓角矩形預設的白色背景
  14.     textFiled1.backgroundColor=[UIColor purpleColor];  
  15.     //設定提示(預設)文字
  16.     textFiled1.placeholder=@"請輸入您的密碼";  
  17.     //設定密文輸入,就是和輸入密碼時類似的顯示為小圓點
  18.     textFiled1.secureTextEntry=YES;  
  19.     //設定鍵盤樣式,比如銀行取款密碼只需要數字,有的輸入郵箱需要@等等
  20.     //UIKeyboardTypeAlphabet和UIKeyboardTypeDefault類似,就是我們平時看到那樣,都是字母,然後有個按鍵可以切換符號
  21.     //UIKeyboardTypeASCIICapable好像和上面差不多
  22.     //UIKeyboardTypeDecimalPad,UIKeyboardTypeNumberPad都是數字,但前者多了一個“小數點”按鍵
  23.     //UIKeyboardTypeEmailAddress-除了字母還有小數點和@出現
  24.     //UIKeyboardTypeNamePhonePad-貌似正常
  25.     //UIKeyboardTypePhonePad-電話鍵盤,不僅有數字還有*和#的那種
  26.     //UIKeyboardTypeNumbersAndPunctuation-只有數字和標點符號
  27.     //UIKeyboardTypeTwitter-除了字母還有@和#,這是微博的符號
  28.     //UIKeyboardTypeURL-除字母,還有.com按鈕,方便輸入
  29.     //UIKeyboardTypeWebSearch-主要區別在於return鍵變成了GO鍵
  30.     //注意:如果是最xcode6下的模擬器的話,預設是不調出軟鍵盤的,按CMD+K可以調出,或者在選單Hardware裡地Keyboard裡設定
  31.     textFiled1.keyboardType=UIKeyboardTypeWebSearch;  
  32.     //設定鍵盤外觀
  33.     //UIKeyboardAppearanceDark和UIKeyboardAppearanceAlert都是把鍵盤背景變成半透明灰色區別不明顯
  34.     //UIKeyboardAppearanceLight貌似和UIKeyboardAppearanceDefault一樣,沒啥區別
  35.     textFiled1.keyboardAppearance=UIKeyboardAppearanceAlert;  
  36.     //設定彈出檢視,inputView即彈出的不是鍵盤而是這個檢視
  37.     //設定的frame時,只有高度有用,其他x和y和寬都是無效的,寬是預設的整個鍵盤寬度
  38.     UIImageView *imgView1=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];  
  39.     imgView1.frame=CGRectMake(6060300300);  
  40.     textFiled1.inputView=imgView1;  
  41.     //設定左檢視,就是使用者名稱和密碼,有時候放個圖片的位置
  42.     UIView *view1=[[UIView alloc]init];  
  43.     //x和y無效,x都是0,而y是根據高度來自動調整的。即高度如果超過textField則預設是textField高,如小於textField高度,則上下居中顯示。唯一有效的就是寬度
  44.     view1.frame=CGRectMake(105005010);  
  45.     view1.backgroundColor=[UIColor orangeColor];  
  46.     textFiled1.leftView=view1;  
  47.     //最重要的時:預設它是不顯示的即UITextFieldViewModeNever,我們可以設定永遠顯示UITextFieldViewModeAlways
  48.     //UITextFieldViewModeUnlessEditing-一開始就有,點選框,呃,貌似還有
  49.     //UITextFieldViewModeWhileEditing-一開始沒有,點選框就出現
  50.     textFiled1.leftViewMode=UITextFieldViewModeAlways;  
  51.     //同樣,我們可以設定右檢視,當然也可以載入和圖片進來
  52.     UIImageView *imgView2=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];  
  53.     imgView2.frame=CGRectMake(105005010);  
  54.     textFiled1.rightView=imgView2;  
  55.     textFiled1.rightViewMode=UITextFieldViewModeAlways;  
  56.     //設定清除按鈕,就是那個叉叉X,一點選整個輸入框的文字全部刪除重新輸入的那個X(我們先註釋掉不讓右檢視顯示,來檢視效果)
  57.     //其實我們在寫clearButtonMode是它又提示說這是一個UITextFieldViewMode型別,所以也是和上面一樣
  58.     textFiled1.clearButtonMode=UITextFieldViewModeWhileEditing;  
  59.     //再次編輯時是否清空內容,這個除特定場景外很少用,會讓使用者抓狂的
  60.     //當然為了模擬再次編輯,我們需要滑鼠點到其他地方然後再點回來,所以再建立一個textField
  61.     textFiled1.clearsOnBeginEditing=NO;  
  62.     //這個clearsOnInsertion貌似點選回去再次編輯時不清楚,但是隻要一輸入內容就會清除之前的
  63.     textFiled1.clearsOnInsertion=YES;  
  64.     UITextField *textField2=[[UITextField alloc]init];  
  65.     textField2.frame=CGRectMake(1080300100);  
  66.     textField2.borderStyle=UITextBorderStyleRoundedRect;  
  67.     [self.view addSubview:textField2];  
  68.     //我們用上面建立的textField2來做如下
  69.     //縱向對齊方式,預設是居中
  70.     //UIControlContentVerticalAlignmentCenter居中,所以Top、Bottom就是居上居下。Fill貌似和Top差不多
  71.     textField2.contentVerticalAlignment=UIControlContentVerticalAlignmentFill;  
  72.     //當然還有橫向對齊
  73.     //也有左中右和Fill四種,但是貌似沒看到什麼效果,可能對文字無效,因為有專門的針對文字的設定
  74.     textField2.contentHorizontalAlignment=UIControlContentHorizontalAlignmentRight;  
  75.     //設定文字對齊方式
  76.     //同樣我們輸入textAlignment時有提示是NSTextAlignment型別,有好幾種,不細講
  77.     textField2.textAlignment=NSTextAlignmentCenter;  
  78.     //設定調整文字大小以適配寬度(即輸入不下時縮小文字,實在縮小不了了,就向後滾動),預設是向右滾動的
  79.     textField2.adjustsFontSizeToFitWidth=YES;  
  80.     //設定最小字號,和上面有關,即小於這個字號的時候,我就不縮小了,直接向右滾動
  81.     textField2.minimumFontSize=2;  
  82.     //設定字母大小樣式,輸入autocapitalizationType時有提示是UITextAutocapitalizationType型別
  83.     //UITextAutocapitalizationTypeAllCharacters-所有字母大寫(用鍵盤輸入的話發現失效,需要用軟鍵盤輸入才有效,以下同理)
  84.     //UITextAutocapitalizationTypeWords-單詞首字母大寫
  85.     //UITextAutocapitalizationTypeSentences-句首字母大寫
  86.     textField2.autocapitalizationType=UITextAutocapitalizationTypeSentences;  
  87.     //設定return樣式,有Done/Go/Next/Join/Google/Search/Yahoo/EmergencyCall/Send等,除了預設外,其他的按鈕都是藍顏色背景
  88.     textField2.returnKeyType=UIReturnKeyEmergencyCall;  
  89.     [self.view addSubview:textFiled1];  
  90.     [super viewDidLoad];  
  91.     // Do any additional setup after loading the view, typically from a nib.
  92. }