你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS UI進修教程之設置UITextField各類屬性

IOS UI進修教程之設置UITextField各類屬性

編輯:IOS開發綜合

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各類屬性】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved