UITextField各種使用方法

? ? 在做項(xiàng)目使用textfield的時(shí)候,可能是比較常見的賬號(hào)密碼輸入,有可能需要自定義左右按鈕,有可能需要處理輸入的各種情況,在使用使用具體的語法可能會(huì)不太記得,在這里我給大家總結(jié)下UITextField的常用語法,基本上已經(jīng)覆蓋全面,如果有什么要補(bǔ)充的可以給我留言,我及時(shí)修改.


login


1.初始化textfield并設(shè)置位置及大小

????UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];

2.設(shè)置邊框樣式泊交,只有設(shè)置了才會(huì)顯示邊框樣式??

????text.borderStyle = UITextBorderStyleRoundedRect;

??????typedef enum {

? ????? UITextBorderStyleNone, (無樣式)

? ? ????UITextBorderStyleLine,(線條)

? ????? UITextBorderStyleBezel,(線框)

? ? ????UITextBorderStyleRoundedRect(圓角)??

????? } UITextBorderStyle;

3.設(shè)置輸入框的背景顏色,此時(shí)設(shè)置為白色?如果使用了自定義的背景圖片邊框會(huì)被忽略掉??

?? ????text.backgroundColor = [UIColor whiteColor];

4.設(shè)置背景

? ????text.background = [UIImage imageNamed:@"dd.png"];

5.設(shè)置不可用背景?

????? text.disabledBackground = [UIImage imageNamed:@"cc.png"];

6.當(dāng)輸入框沒有內(nèi)容時(shí)棒旗,水印提示?提示內(nèi)容為password

????? text.placeholder = @"password";

7.設(shè)置輸入框內(nèi)容的字體樣式和大小

? ? ? text.font = [UIFont fontWithName:@"Arial" size:20.0f];??//設(shè)置字體樣式

? ? ? text.font = [[UIFont] fontWithSize: 15] //設(shè)置字體大小

??????text.textColor = [UIColor redColor];?//設(shè)置字體顏色??

8.輸入框中是否有個(gè)刪除的 X 號(hào)稿蹲,在什么時(shí)候顯示荆针,用于一次性刪除輸入框中的內(nèi)容

????? text.clearButtonMode = UITextFieldViewModeAlways;

? ? ? typedef enum {

????????????UITextFieldViewModeNever, //永不出現(xiàn)

????????????UITextFieldViewModeWhileEditing, //編輯時(shí)出現(xiàn)

????????????UITextFieldViewModeUnlessEditing,//除了編輯外都出現(xiàn)

????????????UITextFieldViewModeAlways //一直出現(xiàn)

? ? ? } UITextFieldViewMode;

9.輸入框中一開始就有的文字

????????text.text = @"一開始就在輸入框的文字";

10.密文輸入

? ? ? ? text.secureTextEntry = YES;

11.是否糾錯(cuò)

? ? ? ? text.autocorrectionType = UITextAutocorrectionTypeNo;

????????typedef enum {

????????????UITextAutocorrectionTypeDefault,默認(rèn)

????????????UITextAutocorrectionTypeNo,不自動(dòng)糾錯(cuò)

????????????UITextAutocorrectionTypeYes,自動(dòng)糾錯(cuò)

????????} UITextAutocorrectionType;

12.再次編輯就清空之前內(nèi)容

? ????????text.clearsOnBeginEditing = YES;?

13.內(nèi)容對(duì)齊方式

? ????????text.textAlignment = UITextAlignmentLeft;

????//內(nèi)容的垂直對(duì)齊方式UITextField繼承自UIControl,此類中有一個(gè)屬性contentVerticalAlignment

? ????????text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

14.自適應(yīng)文本窗口大小.默認(rèn)是保持原來大小,而讓長文本滾動(dòng)??

? ????????textFied.adjustsFontSizeToFitWidth = YES;

? ????????text.minimumFontSize = 20;?//設(shè)置自動(dòng)縮小顯示的最小字體大小

15.設(shè)置鍵盤的樣式

????????? text.keyboardType = UIKeyboardTypeNumberPad;

? ? ? ? ? ?typedef enum {

????????????????UIKeyboardTypeDefault,默認(rèn)鍵盤耙饰,支持所有字符

????????????????UIKeyboardTypeASCIICapable,支持ASCII的默認(rèn)鍵盤

????????????????UIKeyboardTypeNumbersAndPunctuation,標(biāo)準(zhǔn)電話鍵盤罢洲,支持+*#字符

????????????????UIKeyboardTypeURL,? ? ? ? ? ? URL鍵盤宾肺,支持.com按鈕只支持URL字符

????????????????UIKeyboardTypeNumberPad,數(shù)字鍵盤

????????????????UIKeyboardTypePhonePad,電話鍵盤

????????????????UIKeyboardTypeNamePhonePad,電話鍵盤,也支持輸入人名

????????????????UIKeyboardTypeEmailAddress,用于輸入電子郵件地址的鍵盤

????????????????UIKeyboardTypeDecimalPad,數(shù)字鍵盤有數(shù)字和小數(shù)點(diǎn)

????????????????UIKeyboardTypeTwitter,優(yōu)化的鍵盤贷腕,方便輸入@背镇、#字符

? ? ????????????UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,?

????????????} UIKeyboardType;

16.首字母是否大寫

????????? text.autocapitalizationType = UITextAutocapitalizationTypeNone;

? ? ? ? ? ?typedef enum {

????????????????UITextAutocapitalizationTypeNone,不自動(dòng)大寫

????????????????UITextAutocapitalizationTypeWords,單詞首字母大寫

????????????????UITextAutocapitalizationTypeSentences,句子的首字母大寫

????????????????UITextAutocapitalizationTypeAllCharacters,所有字母都大寫

????????????} UITextAutocapitalizationType;

17.return鍵樣式

? ????????text.returnKeyType =UIReturnKeyDone;

? ? ? ? ? typedef enum {

????????????????UIReturnKeyDefault,默認(rèn)灰色按鈕,標(biāo)有Return

????????????????UIReturnKeyGo,標(biāo)有Go的藍(lán)色按鈕

????????????????UIReturnKeyGoogle,標(biāo)有Google的藍(lán)色按鈕泽裳,用語搜索

????????????????UIReturnKeyJoin,標(biāo)有Join的藍(lán)色按鈕

????????????????UIReturnKeyNext,標(biāo)有Next的藍(lán)色按鈕

????????????????UIReturnKeyRoute,標(biāo)有Route的藍(lán)色按鈕

????????????????UIReturnKeySearch,標(biāo)有Search的藍(lán)色按鈕

????????????????UIReturnKeySend,標(biāo)有Send的藍(lán)色按鈕

????????????????UIReturnKeyYahoo,標(biāo)有Yahoo的藍(lán)色按鈕

????????????????UIReturnKeyYahoo,標(biāo)有Yahoo的藍(lán)色按鈕

????????????????UIReturnKeyEmergencyCall,緊急呼叫按鈕

????????????} UIReturnKeyType;

18.鍵盤外觀

? ? ? ? ? ?textView.keyboardAppearance = UIKeyboardAppearanceDefault瞒斩;

? ? ? ? ? ?typedef enum {

????????????????UIKeyboardAppearanceDefault,默認(rèn)外觀涮总,淺灰色

????????????????UIKeyboardAppearanceAlert胸囱,深灰石墨色

????????????} UIReturnKeyType;

19.設(shè)置代理?用于實(shí)現(xiàn)協(xié)議

????????? text.delegate = self;

20.把textfield加到視圖中

????????? [self.view addSubview:text];

21.右側(cè)添加自定義視圖

? ? ? ?//最右側(cè)加圖片是以下代碼???左側(cè)類似

????? ????? UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];

? ? ????????text.rightView=image;

? ????????? text.rightViewMode = UITextFieldViewModeAlways; //右側(cè)視圖什么時(shí)候出現(xiàn) 這個(gè)是必須的,否則永遠(yuǎn)不會(huì)出現(xiàn)

????????????typedef enum {

? ? ????????????????UITextFieldViewModeNever,

? ????????????????? UITextFieldViewModeWhileEditing,

? ? ????????????????UITextFieldViewModeUnlessEditing,

? ????????????????? UITextFieldViewModeAlways

????????????} UITextFieldViewMode;

22.收回鍵盤

? ? ? ? ? ?text. resignFirstResponder (常用)

23.重寫繪制行為

????????除了UITextField對(duì)象的風(fēng)格選項(xiàng),你還可以定制化UITextField對(duì)象瀑梗,為他添加許多不同的重寫方法旺矾,來改變文本字段的顯示行為。這些方法都會(huì)返回一個(gè)CGRect結(jié)構(gòu)夺克,制定了文本字段每個(gè)部件的邊界范圍。以下方法都可以重寫嚎朽。

–?textRectForBounds:  //重寫來重置文字區(qū)域

–?drawTextInRect:  //改變繪文字屬性.重寫時(shí)調(diào)用super可以按默認(rèn)圖形屬性繪制,若自己完全重寫繪制函數(shù)铺纽,就不用調(diào)用super了.

–?placeholderRectForBounds:  //重寫來重置占位符區(qū)域

–?drawPlaceholderInRect:  //重寫改變繪制占位符屬性.重寫時(shí)調(diào)用super可以按默認(rèn)圖形屬性繪制,若自己完全重寫繪制函數(shù),就不用調(diào)用super了.

–?borderRectForBounds:  //重寫來重置邊緣區(qū)域

–?editingRectForBounds:  //重寫來重置編輯區(qū)域

–?clearButtonRectForBounds:  //重寫來重置clearButton位置,改變size可能導(dǎo)致button的圖片失真

–?leftViewRectForBounds:

–?rightViewRectForBounds:

24.delegate

????????//1.是否應(yīng)該開始編輯 ,這里處理特殊情況下的不可編輯

是否應(yīng)該開始編輯.png

? ? ? ? //2.開始編輯,這時(shí)候可以進(jìn)行重新請求數(shù)據(jù)等操作

已經(jīng)開始編輯.png

? ? ? ? //3.編輯過程,在這里可以進(jìn)行輸入內(nèi)容限制輸入,如限制字?jǐn)?shù) 特殊字符等操作

編輯過程.png

????????//4.是否可以點(diǎn)擊return按鈕,這里可進(jìn)行例如字?jǐn)?shù)和規(guī)則等不符合時(shí)不可點(diǎn)擊等操作

是否可以點(diǎn)擊.png

? ? ? ? //5.是否應(yīng)該結(jié)束編輯,這個(gè)用的不多

是否應(yīng)該結(jié)束編輯.png

? ? ? ? //6.已經(jīng)結(jié)束編輯,這時(shí)可以把textfield值傳遞,因?yàn)檫@時(shí)候是最終的值,或者進(jìn)行編輯結(jié)束的具體操作

已經(jīng)結(jié)束編輯.png


????相信大家看完這篇文章后,對(duì)UITextField的使用都有了一個(gè)具體的了解,我總結(jié)的可能不夠全面,也可能一些地方存在問題,歡迎大家留言糾正!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哟忍,一起剝皮案震驚了整個(gè)濱河市狡门,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锅很,老刑警劉巖其馏,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異爆安,居然都是意外死亡叛复,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門扔仓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來褐奥,“玉大人,你說我怎么就攤上這事翘簇∏寺耄” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵版保,是天一觀的道長呜笑。 經(jīng)常有香客問我夫否,道長,這世上最難降的妖魔是什么叫胁? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任凰慈,我火速辦了婚禮,結(jié)果婚禮上曹抬,老公的妹妹穿的比我還像新娘溉瓶。我一直安慰自己,他們只是感情好谤民,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布堰酿。 她就那樣靜靜地躺著,像睡著了一般张足。 火紅的嫁衣襯著肌膚如雪触创。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天为牍,我揣著相機(jī)與錄音哼绑,去河邊找鬼。 笑死碉咆,一個(gè)胖子當(dāng)著我的面吹牛抖韩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疫铜,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼茂浮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了壳咕?” 一聲冷哼從身側(cè)響起席揽,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谓厘,沒想到半個(gè)月后幌羞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竟稳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年属桦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片住练。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡地啰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讲逛,到底是詐尸還是另有隱情亏吝,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布盏混,位于F島的核電站蔚鸥,受9級(jí)特大地震影響惜论,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜止喷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一馆类、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弹谁,春花似錦乾巧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至植康,卻和暖如春旷太,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背销睁。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工供璧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冻记。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓睡毒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冗栗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吕嘀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344