UITextField是IOS中異常經常使用的一個控件,用來吸收用戶輸出信息,完成運用和用戶的交互。它的重要屬性設置以下:
//初始化textfield並設置地位及年夜小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //設置邊框款式,只要設置了才會顯示邊框款式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBorderStyleBezel, UITextBorderStyleRoundedRect } UITextBorderStyle; //設置輸出框的配景色彩,此時設置為白色 假如應用了自界說的配景圖片邊框會被疏忽失落 text.backgroundColor = [UIColor whiteColor]; //設置配景 text.background = [UIImage imageNamed:@"dd.png"]; //設置配景 text.disabledBackground = [UIImage imageNamed:@"cc.png"]; //當輸出框沒有內容時,水印提醒 提醒內容為password text.placeholder = @"password"; //設置輸出框內容的字體款式和年夜小 text.font = [UIFont fontWithName:@"Arial" size:20.0f]; //設置字體色彩 text.textColor = [UIColor redColor]; //輸出框中能否有個叉號,在甚麼時刻顯示,用於一次性刪除輸出框中的內容 text.clearButtonMode = UITextFieldViewModeAlways; typedef enum { UITextFieldViewModeNever, 重不湧現 UITextFieldViewModeWhileEditing, 編纂時湧現 UITextFieldViewModeUnlessEditing, 除編纂外都湧現 UITextFieldViewModeAlways 一向湧現 } UITextFieldViewMode; //輸出框中一開端就有的文字 text.text = @"一開端就在輸出框的文字"; //每輸出一個字符就釀成點 用語暗碼輸出 text.secureTextEntry = YES; //能否糾錯 text.autocorrectionType = UITextAutocorrectionTypeNo; typedef enum { UITextAutocorrectionTypeDefault, 默許 UITextAutocorrectionTypeNo, 不主動糾錯 UITextAutocorrectionTypeYes, 主動糾錯 } UITextAutocorrectionType; //再次編纂就清空 text.clearsOnBeginEditing = YES; //內容對齊方法 text.textAlignment = UITextAlignmentLeft; //內容的垂直對齊方法 UITextField繼續自UIControl,此類中有一個屬性contentVerticalAlignment text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; //設置為YES時文本會主動減少以順應文本窗口年夜小.默許是堅持本來年夜小,而讓長文本轉動 textFied.adjustsFontSizeToFitWidth = YES; //設置主動減少顯示的最小字體年夜小 text.minimumFontSize = 20; //設置鍵盤的款式 text.keyboardType = UIKeyboardTypeNumberPad; typedef enum { UIKeyboardTypeDefault, 默許鍵盤,支撐一切字符 UIKeyboardTypeASCIICapable, 支撐ASCII的默許鍵盤 UIKeyboardTypeNumbersAndPunctuation, 尺度德律風鍵盤,支撐+*#字符 UIKeyboardTypeURL, URL鍵盤,支撐.com按鈕 只支撐URL字符 UIKeyboardTypeNumberPad, 數字鍵盤 UIKeyboardTypePhonePad, 德律風鍵盤 UIKeyboardTypeNamePhonePad, 德律風鍵盤,也支撐輸出人名 UIKeyboardTypeEmailAddress, 用於輸出電子 郵件地址的鍵盤 UIKeyboardTypeDecimalPad, 數字鍵盤 稀有字和小數點 UIKeyboardTypeTwitter, 優化的鍵盤,便利輸出@、#字符 UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, } UIKeyboardType; //首字母能否年夜寫 text.autocapitalizationType = UITextAutocapitalizationTypeNone; typedef enum { UITextAutocapitalizationTypeNone, 不主動年夜寫 UITextAutocapitalizationTypeWords, 單詞首字母年夜寫 UITextAutocapitalizationTypeSentences, 句子的首字母年夜寫 UITextAutocapitalizationTypeAllCharacters, 一切字母都年夜寫 } UITextAutocapitalizationType; //return鍵釀成甚麼鍵 text.returnKeyType =UIReturnKeyDone; typedef enum { UIReturnKeyDefault, 默許 灰色按鈕,標有Return UIReturnKeyGo, 標有Go的藍色按鈕 UIReturnKeyGoogle, 標有Google的藍色按鈕,用語搜刮 UIReturnKeyJoin, 標有Join的藍色按鈕 UIReturnKeyNext, 標有Next的藍色按鈕 UIReturnKeyRoute, 標有Route的藍色按鈕 UIReturnKeySearch, 標有Search的藍色按鈕 UIReturnKeySend, 標有Send的藍色按鈕 UIReturnKeyYahoo, 標有Yahoo的藍色按鈕 UIReturnKeyYahoo, 標有Yahoo的藍色按鈕 UIReturnKeyEmergencyCall, 緊迫呼喚按鈕 } UIReturnKeyType; //鍵盤外不雅 textView.keyboardAppearance=UIKeyboardAppearanceDefault; typedef enum { UIKeyboardAppearanceDefault, 默許外不雅,淺灰色 UIKeyboardAppearanceAlert, 深灰 石墨色 } UIReturnKeyType; //設置署理 用於完成協定 text.delegate = self; //把textfield加到視圖中 [self.Window addSubview:text]; //最右邊加圖片是以下代碼 左邊相似 UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]]; text.rightView=image; text.rightViewMode = UITextFieldViewModeAlways; typedef enum { UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways } UITextFieldViewMode; //按return鍵鍵盤往下收 becomeFirstResponder 類要采取UITextFieldDelegate協定 text.delegate = self; 聲明text的署理是我,我會去完成把鍵盤往下收的辦法 這個辦法在UITextFieldDelegate裡所以我們要采取UITextFieldDelegate這個協定 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [text resignFirstResponder]; //重要是[receiver resignFirstResponder]在哪挪用就可以把receiver對應的鍵盤往下收 return YES; } 重寫繪制行動 除UITextField對象的作風選項,你還可以定制化UITextField對象,為他添加很多分歧的重寫辦法,來轉變文本字段的顯示行動。這些辦法都邑前往一個CGRect構造,制訂了文本字段每一個部件的界限規模。以下辦法都可以重寫。 – textRectForBounds: //重寫來重置文字區域 – drawTextInRect: //轉變繪文字屬性.重寫時挪用super可以按默許圖形屬性繪制,若本身完整重寫繪制函數,就不消挪用super了. – placeholderRectForBounds: //重寫來重置占位符區域 – drawPlaceholderInRect: //重寫轉變繪制占位符屬性.重寫時挪用super可以按默許圖形屬性繪制,若本身完整重寫繪制函數,就不消挪用super了. – borderRectForBounds: //重寫來重置邊沿區域 – editingRectForBounds: //重寫來重置編纂區域 – clearButtonRectForBounds: //重寫來重置clearButton地位,轉變size能夠招致button的圖片掉真 – leftViewRectForBounds: – rightViewRectForBounds: 拜托辦法 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ //前往一個BOOL值,指定能否循敘文本字段開端編纂 return YES; } - (void)textFieldDidBeginEditing:(UITextField *)textField{ //開端編纂時觸發,文本字段將成為first responder } - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{ //前往BOOL值,指定能否許可文本字段停止編纂,當編纂停止,文本字段會讓出first responder //要想在用戶停止編纂時阻攔文本字段消逝,可以前往NO //這對一些文本字段必需一直堅持活潑狀況的法式很有效,好比即時新聞 return NO; } - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ //當用戶應用主動更正功效,把輸出的文字修正為推舉的文字時,就會挪用這個辦法。 //這關於想要參加撤消選項的運用法式特殊有效 //可以跟蹤字段內所做的最初一次修正,也能夠對一切編纂做日記記載,用作審計用處。 //要避免文字被轉變可以前往NO //這個辦法的參數中有一個NSRange對象,指清楚明了被轉變文字的地位,建議修正的文本也在個中 return YES; } - (BOOL)textFieldShouldClear:(UITextField *)textField{ //前往一個BOOL值指明能否許可依據用戶要求消除內容 //可以設置在特定前提下才許可消除內容 return YES; } -(BOOL)textFieldShouldReturn:(UITextField *)textField{ //前往一個BOOL值,指明能否許可在按下回車鍵時停止編纂 //假如許可要挪用resignFirstResponder 辦法,這回招致停止編纂,而鍵盤會被收起[textField resignFirstResponder]; //查一下resign這個單詞的意思就明確這個辦法了 return YES; }
以上就是本文的全體內容,願望對年夜家進修IOS法式設計有所贊助。
【IOS UI進修教程之設置UITextField各類屬性】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!