UITextField經常使用屬性概括:文本框樣式、文字樣式、鍵盤樣式、左右視圖樣式、清除按鈕設置等,iosuitextfield

(1)能夠根據須要設置文本框的樣式(包括形狀、邊框顏色、背景等)。ios

(2)能夠根據須要設置文字顯示樣式(包括輸入密碼時的密文顯示、文字橫向居中、縱向居中上下、輸入的文字是否首席木大寫、文字超事後是否縮小仍是向右滾動等)。api

(3)能夠根據須要設置各類不一樣的鍵盤樣式(只有數字、只有字母等等)。xcode

(4)還有inputView能夠彈出一個視圖,用於取代彈出鍵盤,暫時不知道什麼用處,但貌似能夠用得地方不少啊。less

(5)還有return的樣式設置,能夠設置爲Google也能夠設置爲Go和Search等更形象的按鈕。spa

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

(7)還有用得比較多得估計是左右視圖,也就是咱們常見的用戶名和密碼的前面還有一個小icon圖片表示用戶的「小人」和表示密碼的「鎖」的圖片,用左右視圖能夠加載進來,固然最後要記得設置左右視圖模式爲Always,否則默認是Never不顯示的。圖片

- (void)viewDidLoad {
    //textfiled1本想是textField1的,但不影響
    UITextField *textFiled1=[[UITextField alloc]init];
    //此時textField1已存在,但由於是透明背景,因此看不見,可是點擊那塊地方會發現光標閃爍可寫
    //爲了證實是透明背景而不是白色背景,咱們能夠設置self.view背景爲紅色,看看textField1是白色仍是透明色
//    self.view.backgroundColor=[UIColor redColor];
    textFiled1.frame=CGRectMake(10, 30, 300, 30);
    //設置邊框樣式
    //UITextBorderStyleRoundedRect-圓角矩形,背景是白色,再也不是透明的
    //UITextBorderStyleLine-矩形,黑色邊框,透明背景
    //UITextBorderStyleBezel-和上面相似,可是是灰色的邊框,背景透明
    textFiled1.borderStyle=UITextBorderStyleRoundedRect;
    //設置背景顏色,會覆蓋上面圓角矩形默認的白色背景
    textFiled1.backgroundColor=[UIColor purpleColor];
    //設置提示(默認)文字
    textFiled1.placeholder=@"請輸入您的密碼";
    //設置密文輸入,就是和輸入密碼時相似的顯示爲小圓點
    textFiled1.secureTextEntry=YES;
    //設置鍵盤樣式,好比銀行取款密碼只須要數字,有的輸入郵箱須要@等等
    //UIKeyboardTypeAlphabet和UIKeyboardTypeDefault相似,就是咱們平時看到那樣,都是字母,而後有個按鍵能夠切換符號
    //UIKeyboardTypeASCIICapable好像和上面差很少
    //UIKeyboardTypeDecimalPad,UIKeyboardTypeNumberPad都是數字,但前者多了一個「小數點」按鍵
    //UIKeyboardTypeEmailAddress-除了字母還有小數點和@出現
    //UIKeyboardTypeNamePhonePad-貌似正常
    //UIKeyboardTypePhonePad-電話鍵盤,不只有數字還有*和#的那種
    //UIKeyboardTypeNumbersAndPunctuation-只有數字和標點符號
    //UIKeyboardTypeTwitter-除了字母還有@和#,這是微博的符號
    //UIKeyboardTypeURL-除字母,還有.com按鈕,方便輸入
    //UIKeyboardTypeWebSearch-主要區別在於return鍵變成了GO鍵
    //注意:若是是最xcode6下的模擬器的話,默認是不調出軟鍵盤的,按CMD+K能夠調出,或者在菜單Hardware裏地Keyboard裏設置
    textFiled1.keyboardType=UIKeyboardTypeWebSearch;
    //設置鍵盤外觀
    //UIKeyboardAppearanceDark和UIKeyboardAppearanceAlert都是把鍵盤背景變成半透明灰色區別不明顯
    //UIKeyboardAppearanceLight貌似和UIKeyboardAppearanceDefault同樣,沒啥區別
    textFiled1.keyboardAppearance=UIKeyboardAppearanceAlert;
    
    //設置彈出視圖,inputView即彈出的不是鍵盤而是這個視圖
    //設置的frame時,只有高度有用,其餘x和y和寬都是無效的,寬是默認的整個鍵盤寬度
    UIImageView *imgView1=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"logo-60@3x.png"]];
    imgView1.frame=CGRectMake(60, 60, 300, 300);
    textFiled1.inputView=imgView1;
    
    //設置左視圖,就是用戶名和密碼,有時候放個圖片的位置
    UIView *view1=[[UIView alloc]init];
    //x和y無效,x都是0,而y是根據高度來自動調整的。即高度若是超過textField則默認是textField高,如小於textField高度,則上下居中顯示。惟一有效的就是寬度
    view1.frame=CGRectMake(10, 500, 50, 10);
    view1.backgroundColor=[UIColor orangeColor];
    textFiled1.leftView=view1;
    //最重要的時:默認它是不顯示的即UITextFieldViewModeNever,咱們能夠設置永遠顯示UITextFieldViewModeAlways
    //UITextFieldViewModeUnlessEditing-一開始就有,點擊框,呃,貌似還有
    //UITextFieldViewModeWhileEditing-一開始沒有,點擊框就出現
    textFiled1.leftViewMode=UITextFieldViewModeAlways;
    
    //一樣,咱們能夠設置右視圖,固然也能夠加載和圖片進來
    UIImageView *imgView2=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"logo-60@3x.png"]];
    imgView2.frame=CGRectMake(10, 500, 50, 10);
    textFiled1.rightView=imgView2;
    textFiled1.rightViewMode=UITextFieldViewModeAlways;
    
    //設置清除按鈕,就是那個叉叉X,一點擊整個輸入框的文字所有刪除從新輸入的那個X(咱們先註釋掉不讓右視圖顯示,來查看效果)
    //其實咱們在寫clearButtonMode是它又提示說這是一個UITextFieldViewMode類型,因此也是和上面同樣
    textFiled1.clearButtonMode=UITextFieldViewModeWhileEditing;
    
    //再次編輯時是否清空內容,這個除特定場景外不多用,會讓用戶抓狂的
    //固然爲了模擬再次編輯,咱們須要鼠標點到其餘地方而後再點回來,因此再建立一個textField
    textFiled1.clearsOnBeginEditing=NO;
    //這個clearsOnInsertion貌似點擊回去再次編輯時不清楚,可是隻要一輸入內容就會清除以前的
    textFiled1.clearsOnInsertion=YES;
    UITextField *textField2=[[UITextField alloc]init];
    textField2.frame=CGRectMake(10, 80, 300, 100);
    textField2.borderStyle=UITextBorderStyleRoundedRect;
    [self.view addSubview:textField2];
    
    //咱們用上面建立的textField2來作以下
    //縱向對齊方式,默認是居中
    //UIControlContentVerticalAlignmentCenter居中,因此Top、Bottom就是居上居下。Fill貌似和Top差很少
    textField2.contentVerticalAlignment=UIControlContentVerticalAlignmentFill;
    //固然還有橫向對齊
    //也有左中右和Fill四種,可是貌似沒看到什麼效果,可能對文字無效,由於有專門的針對文字的設置
    textField2.contentHorizontalAlignment=UIControlContentHorizontalAlignmentRight;
    //設置文字對齊方式
    //一樣咱們輸入textAlignment時有提示是NSTextAlignment類型,有好幾種,不細講
    textField2.textAlignment=NSTextAlignmentCenter;
    //設置調整文字大小以適配寬度(即輸入不下時縮小文字,實在縮小不了了,就向後滾動),默認是向右滾動的
    textField2.adjustsFontSizeToFitWidth=YES;
    //設置最小字號,和上面有關,即小於這個字號的時候,我就不縮小了,直接向右滾動
    textField2.minimumFontSize=2;
    //設置字母大小樣式,輸入autocapitalizationType時有提示是UITextAutocapitalizationType類型
    //UITextAutocapitalizationTypeAllCharacters-全部字母大寫(用鍵盤輸入的話發現失效,須要用軟鍵盤輸入纔有效,如下同理)
    //UITextAutocapitalizationTypeWords-單詞首字母大寫
    //UITextAutocapitalizationTypeSentences-句首字母大寫
    textField2.autocapitalizationType=UITextAutocapitalizationTypeSentences;
    
    //設置return樣式,有Done/Go/Next/Join/Google/Search/Yahoo/EmergencyCall/Send等,除了默認外,其餘的按鈕都是藍顏色背景
    textField2.returnKeyType=UIReturnKeyEmergencyCall;
    
    [self.view addSubview:textFiled1];
    
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

ios開發,怎使用代碼或者其餘方式控制切換鍵盤如今視圖中有兩個文本框,分別用來輸入文字與數字如

 

標記你對應的文本框tag,在將要編輯文本框的方法中判斷tag值。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; 
根據對應的tag設置不一樣的鍵盤類型ci

相關文章
相關標籤/搜索