您好,登錄后才能下訂單哦!
UITextField講解
一.基本屬性設(shè)置
1. 創(chuàng)建一個(gè)文本輸入框
UITextField*textField=[[UITextFieldalloc]initWithFrame:CGRectMake(10, 30, 300, 30)];
2. 設(shè)置邊框樣式
textField.borderStyle = UITextBorderStyleRoundedRect;//圓角
typedefenum {
UITextBorderStyleNone,無(wú)邊框
UITextBorderStyleLine,有邊框
UITextBorderStyleBezel,有邊框和陰影
UITextBorderStyleRoundedRect圓角
} UITextBorderStyle;
3.背景顏色是文本內(nèi)容部分的顏色
textField.backgroundColor = [UIColorblueColor];
4. 設(shè)置背景圖片
textField.background=[UIImagep_w_picpathNamed:@"Icon.png"];
5.提示文字
textField.placeholder = @"請(qǐng)輸入單詞";
6.設(shè)置和讀取 文字內(nèi)容
textField.text = @”我是文本框”;
(也可以編輯之后獲取文本框內(nèi)容)
NSString * str = textField.text;
7. 設(shè)置字體格式
[textFieldsetFont:[UIFontfontWithName:@"Arial"size:30]];
NSLog(@"%@", [UIFontfamilyNames]);//查看字體集
8.密文輸入
textField.secureTextEntry = YES;
9.鍵盤(pán)類型
textField.keyboardType = UIKeyboardTypeNumberPad;//數(shù)字鍵UIKeyboardTypeDefault, // 當(dāng)前鍵盤(pán)(默認(rèn))
UIKeyboardTypeASCIICapable, // 字母輸入鍵
UIKeyboardTypeNumbersAndPunctuation, //數(shù)字和符號(hào)
UIKeyboardTypeURL, URL鍵盤(pán)
UIKeyboardTypeNumberPad, 數(shù)字鍵盤(pán)
UIKeyboardTypePhonePad, 電話號(hào)碼輸入鍵盤(pán)
UIKeyboardTypeEmailAddress, //郵件地址輸入鍵盤(pán)
} UIKeyboardType;
10.鍵盤(pán)風(fēng)格
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
UIKeyboardAppearanceDefault,默認(rèn)外觀,淺灰色
UIKeyboardAppearanceAlert,深灰石墨色
11.設(shè)置彈出視圖(不彈鍵盤(pán)彈圖片)
UIImageView * p_w_picpathView = [[UIImageViewalloc]initWithImage:[UIImagep_w_picpathNamed:@"Icon.png"]];
p_w_picpathView.frame = CGRectMake(0, 100, 320, 100);(跟位置和寬無(wú)關(guān))
textField.inputView = p_w_picpathView;
12.設(shè)置左視圖
UIView * leftview = [[UIViewalloc]initWithFrame:CGRectMake(0, 0, 100, 100 )];//只有寬度起到了作用
textField.leftView = leftview;
leftview.backgroundColor = [UIColorpurpleColor];
要設(shè)置左視圖模式
textField.leftViewMode = UITextFieldViewModeAlways;
13 還可以設(shè)置右視圖
textField.rightView = rightView;
textField.rightViewMode = UITextFieldViewModeAlways;、、這個(gè)右視圖模式會(huì)影響清除按鈕模式
14. 設(shè)置清除按鈕模式
textField.clearButtonMode = UITextFieldViewModeAlways;//出現(xiàn)小叉子
typedefenum {
UITextFieldViewModeNever,、、從不出現(xiàn)
UITextFieldViewModeWhileEditing,編輯時(shí)顯示
UITextFieldViewModeUnlessEditing,不編輯時(shí)
UITextFieldViewModeAlways 總是顯示
} UITextFieldViewMode;
/*******************************************************/
15.再次編輯時(shí)是否清空之前內(nèi)容;默認(rèn)NO;
text2.clearsOnBeginEditing = YES;
16.編輯內(nèi)容時(shí)垂直對(duì)齊方式
text2.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;//劇中顯示、默認(rèn)是top顯示對(duì)齊
文字內(nèi)容劇中顯示
text2.textAlignment = UITextAlignmentCenter;
17 設(shè)置滾動(dòng)
text2.font = [UIFontsystemFontOfSize:30];//可以設(shè)置文字大小
text2.adjustsFontSizeToFitWidth = YES;//默認(rèn)是NO YES當(dāng)充滿邊框時(shí),文字會(huì)縮小,當(dāng)小到一定程度時(shí)仍然會(huì)滾動(dòng);自適應(yīng)寬度;
//設(shè)置滾動(dòng)時(shí)最小字號(hào)(與滾動(dòng)相關(guān))(前提:要比設(shè)置的字體小,否則沒(méi)有意義)
text2.minimumFontSize = 20;(沒(méi)有設(shè)置這一項(xiàng)文字也會(huì)縮小和滾動(dòng))
18. 設(shè)置return鍵
text2.returnKeyType = UIReturnKeyGoogle;search
typedef enum {
UIReturnKeyDefault, 默認(rèn)灰色按鈕,標(biāo)有Return
UIReturnKeyGo, 標(biāo)有Go的藍(lán)色按鈕
UIReturnKeyGoogle,標(biāo)有Google的藍(lán)色按鈕,用語(yǔ)搜索
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;
19. 首字母是否大寫(xiě)
text2.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;//所有字母大寫(xiě)
typedef enum {
UITextAutocapitalizationTypeNone, 不自動(dòng)大寫(xiě)
UITextAutocapitalizationTypeWords, 單詞首字母大寫(xiě)
UITextAutocapitalizationTypeSentences, 句子的首字母大寫(xiě)
UITextAutocapitalizationTypeAllCharacters, 所有字母都大寫(xiě)
} UITextAutocapitalizationType;
/************************************/
二 關(guān)于文本編輯框設(shè)置代理
a.//是否可以進(jìn)入編輯模式(是否可進(jìn)入輸入狀態(tài))
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
returnYES;//NO進(jìn)入不了編輯模式
}
b.//進(jìn)入編輯模式
- (void)textFieldDidBeginEditing:(UITextField *)textField{
NSLog(@"進(jìn)入編輯模式時(shí)調(diào)用");
}
c.//是否退出編輯模式(是否可以結(jié)束輸入狀態(tài))
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
returnYES;//NO 退出不了編輯模式
}
d.//退出編輯模式// 結(jié)束輸入狀態(tài)后調(diào)用
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"退出編輯模式");
}
e.//是否可以點(diǎn)擊清除按鈕
- (BOOL)textFieldShouldClear:(UITextField *)textField{
//textField.text = @"已經(jīng)清除";
returnNO;//NO不清除
}
f. // 點(diǎn)擊鍵盤(pán)上Return按鈕時(shí)候調(diào)用
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
//官方取消第一響應(yīng)者(就是退出編輯模式收鍵盤(pán))
[textField resignFirstResponder];
returnYES;
}
g.//當(dāng)輸入任何字符時(shí),代理調(diào)用該方法
-(BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
//當(dāng)輸入任何字符時(shí),代理調(diào)用該方法,如果返回YES則這次輸入可以成功,如果返回NO,不能輸入成功
//range表示光標(biāo)位置,只有location,length == 0;
//string表示這次輸入的字符串。
{
NSLog(@"range = %@ string = %@",NSStringFromRange(range),string);
return str.length < 10;
//textField.text超過(guò)了10個(gè)字符,返回NO,不讓輸入成功。(最多輸入10個(gè))
//textField.text輸入后不到10個(gè)字符,返回YES,使輸入成功。
returnYES;
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。