UITextField 基本使用方法

    /* 
     設(shè)置背景色、背景圖片昔案。設(shè)置了背景圖片后尿贫,背景色設(shè)置無效 
     如果background為nil,disabledBackground無效 
     */  
    _textField.background = [UIImage imageNamed:@"圖片名字"];  
    _textField.disabledBackground = [UIImage imageNamed:@"圖片名字"];  
    /* 
     設(shè)置為YES時(shí)文本會(huì)自動(dòng)縮小以適應(yīng)文本窗口大小.默認(rèn)是保持原來大小,而讓長(zhǎng)文本滾動(dòng) 
     */  
    _textField.adjustsFontSizeToFitWidth = YES;  
    //設(shè)置自動(dòng)縮小顯示的最小字體大小踏揣,adjustsFontSizeToFitWidth為YES才會(huì)起作用  
    _textField.minimumFontSize = 10;  
    _textField.font = [UIFont systemFontOfSize:20.0f];  
    /* 
     內(nèi)容對(duì)齊方式 
     內(nèi)容的垂直對(duì)齊方式  UITextField繼承自UIControl,此類中有一個(gè)屬性contentVerticalAlignment 
     */  
    _textField.textAlignment = UITextAlignmentLeft;  
    _textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;  
 /* 
     輸入框樣式 
     */  
     typedef enum { 
     UITextBorderStyleNone, 
     UITextBorderStyleLine, 
     UITextBorderStyleBezel, 
     UITextBorderStyleRoundedRect 
     } UITextBorderStyle; 

    _textField.borderStyle = UITextBorderStyleBezel;  
    /* 
     每輸入一個(gè)字符就變成點(diǎn) 用語密碼輸入 
     */  
    _textField.secureTextEntry = YES;  
   /* 
     輸入框中是否有個(gè)叉號(hào)庆亡,在什么時(shí)候顯示,用于一次性刪除輸入框中的內(nèi)容 
     */  
     typedef enum { 
     UITextFieldViewModeNever, 重不出現(xiàn) 
     UITextFieldViewModeWhileEditing, 編輯時(shí)出現(xiàn) 
     UITextFieldViewModeUnlessEditing, 除了編輯外都出現(xiàn) 
     UITextFieldViewModeAlways  一直出現(xiàn) 
     } UITextFieldViewMode; 

    _textField.clearButtonMode = UITextFieldViewModeWhileEditing;  
    /* 
     開始編輯捞稿,清空數(shù)據(jù) 
     */  
    _textField.clearsOnBeginEditing = NO;  
       /* 
     開始編輯又谋,清空數(shù)據(jù) 
     */  
     typedef enum { 
     UITextAutocorrectionTypeDefault, 默認(rèn) 
     UITextAutocorrectionTypeNo,  不自動(dòng)糾錯(cuò) 
     UITextAutocorrectionTypeYes, 自動(dòng)糾錯(cuò) 
     } UITextAutocorrectionType; 

    _textField.autocorrectionType = UITextAutocorrectionTypeYes;  
    /* 
     //首字母是否大寫 
 */  
     typedef enum { 
     UITextAutocapitalizationTypeNone, 不自動(dòng)大寫 
     UITextAutocapitalizationTypeWords, 單詞首字母大寫 
     UITextAutocapitalizationTypeSentences, 句子的首字母大寫 
     UITextAutocapitalizationTypeAllCharacters, 所有字母都大寫 
     } UITextAutocapitalizationType; 
    
    _textField.autocapitalizationType = UITextAutocapitalizationTypeWords;  
      
   /* 
     鍵盤 
   */  
     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; 
  
    _textField.keyboardType = UIKeyboardTypeDefault;  
    /* 
      return鍵變成什么鍵 
 */  
     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; 
    
    _textField.returnKeyType = UIReturnKeyDone;  
      
   /* 
     鍵盤外觀 
     */  
     typedef enum { 
     UIKeyboardAppearanceDefault废酷, 默認(rèn)外觀,淺灰色 
     UIKeyboardAppearanceDark抹缕,   深灰 石墨色 
     UIKeyboardAppearanceLight 淺灰色 
     } UIReturnKeyType; 

    _textField.keyboardAppearance=UIKeyboardAppearanceDefault;  
    /* 
     設(shè)置左右的兩個(gè)view 
     */  
    UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image_right"]];  
   imgView.frame = CGRectMake(0, 0, 20, 20);  
   _textField.rightView = imgView;  
   _textField.rightViewMode = UITextFieldViewModeAlways;   // 同上  

    UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image_left"]];  
    imgView.frame = CGRectMake(0, 0, 20, 20);  
    _textField.leftView = imgView;  
    _textField.leftViewMode = UITextFieldViewModeAlways;   // 同上  

重寫繪制行為

除了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: 
/**
 *  設(shè)置Placeholder
 */
- (void)customWithPlaceholder: (NSString *)placeholder color: (UIColor *)color font: (UIFont *)font {
    
    self.placeholder = placeholder;
    [self setValue:顏色 forKeyPath:@"_placeholderLabel.color"];
}


/**
 *  控制編輯文本的位置
 */
-(CGRect)editingRectForBounds:(CGRect)bounds {
    
    CGRect inset = CGRectMake(bounds.origin.x, bounds.origin.y+13.5f, bounds.size.width, bounds.size.height);
    
    return inset;
}


/**
 *  控制顯示文本的位置
 */
-(CGRect)textRectForBounds:(CGRect)bounds {
   
    CGRect inset = CGRectMake(bounds.origin.x, bounds.origin.y+13.5f, bounds.size.width, bounds.size.height);
    
    return inset;
}

/**
 清除按鈕位置
 */
-(CGRect)clearButtonRectForBounds:(CGRect)bounds {
    CGRect inset = CGRectMake(bounds.origin.x, bounds.origin.y+13.5f, bounds.size.width, bounds.size.height);
    CGRect clearButtonRect = [super clearButtonRectForBounds:inset];
    return clearButtonRect;
}

- (CGRect)placeholderRectForBounds:(CGRect)bounds{
    CGRect inset = CGRectMake(bounds.origin.x, bounds.origin.y+13.5f, bounds.size.width, bounds.size.height);
    return inset;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末橙垢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子伦糯,更是在濱河造成了極大的恐慌柜某,老刑警劉巖嗽元,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異喂击,居然都是意外死亡剂癌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門翰绊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佩谷,“玉大人,你說我怎么就攤上這事监嗜⌒程矗” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵裁奇,是天一觀的道長(zhǎng)桐猬。 經(jīng)常有香客問我,道長(zhǎng)刽肠,這世上最難降的妖魔是什么溃肪? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮音五,結(jié)果婚禮上惫撰,老公的妹妹穿的比我還像新娘。我一直安慰自己躺涝,他們只是感情好润绎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诞挨,像睡著了一般莉撇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惶傻,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天棍郎,我揣著相機(jī)與錄音,去河邊找鬼银室。 笑死涂佃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜈敢。 我是一名探鬼主播辜荠,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼抓狭!你這毒婦竟也來了伯病?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤否过,失蹤者是張志新(化名)和其女友劉穎午笛,沒想到半個(gè)月后惭蟋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡药磺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年告组,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片癌佩。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡木缝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出围辙,到底是詐尸還是另有隱情氨肌,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布酌畜,位于F島的核電站,受9級(jí)特大地震影響卿叽,放射性物質(zhì)發(fā)生泄漏桥胞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一考婴、第九天 我趴在偏房一處隱蔽的房頂上張望贩虾。 院中可真熱鬧,春花似錦沥阱、人聲如沸缎罢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)策精。三九已至,卻和暖如春崇棠,著一層夾襖步出監(jiān)牢的瞬間咽袜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工枕稀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留询刹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓萎坷,卻偏偏與公主長(zhǎng)得像凹联,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哆档,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容