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