溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

UITextField 詳解

發(fā)布時(shí)間:2020-09-03 13:41:02 來(lái)源:網(wǎng)絡(luò) 閱讀:593 作者:軒是Me 欄目:移動(dòng)開(kāi)發(fā)

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;

}


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI