UITextFeild

問題一: 設(shè)置UITextFeild 粘貼功能

UItextFeild本身自帶粘貼功能,我們修改自帶的粘貼功能,需要新建一個子類,并且重寫方法,方法如下:

1.禁止使用所有輸入框功能按鈕

-(BOOL)canPerformAction:(SEL)actionwithSender:(id)sender {

UIMenuController *menuController?=?[UIMenuController? sharedMenuController];

if(menuController)?{

[UIMenuController? sharedMenuController].menuVisible=NO;

}

returnNO;

}


2.選擇禁用的功能

- (BOOL)canPerformAction:(SEL)actionwithSender:(id)sender

{

//?禁用粘貼功能

if(action?== @selector(paste:))

return NO;

//?禁用選擇功能

if(action?==@selector(select:))

return NO;

//?禁用全選功能

if(action?== @selector(selectAll:))

return NO;

return [super? canPerformAction:action? withSender:sender];

}

重點(diǎn):該類是UITextFeild的子類,子類重寫父類的方法即可,如果直接使用往往paste:方法不被執(zhí)行

(遇到問題二:)設(shè)置UITextFeild的邊框

設(shè)計師往往需要使用一些邊框,顏色,的問題

1、設(shè)置邊框樣式

textField.borderStyle?=?UITextBorderStyleRoundedRect;//圓角

可選屬性:

UITextBorderStyleNone,無邊框

UITextBorderStyleLine,有邊框

UITextBorderStyleBezel,有邊框和陰影

UITextBorderStyleRoundedRect圓角

2、設(shè)置背景顏色

textField.backgroundColor?=?[UIColor?blueColor];

3、設(shè)置背景圖片

textField.background=[UIImage?imageNamed:@"test.png"];

4、提示文字

textField.placeholder?=?@"請輸入";

5、設(shè)置和讀取文字內(nèi)容

textField.text?=?@”hello”;

NSString?*?str?=?textField.text;

6、設(shè)置字體

[textField?setFont:[UIFont?fontWithName:@"Arial"?size:30]];

NSLog(@"%@",?[UIFont?familyNames]); 查看字體集

7、密文輸入

textField.secureTextEntry?=?YES;

8、鍵盤類型

textField.keyboardType?=?UIKeyboardTypeNumberPad;??數(shù)字鍵

UIKeyboardTypeDefault, ? ? ? ? ? ? ? ? ? 當(dāng)前鍵盤(默認(rèn))

UIKeyboardTypeASCIICapable,??????????字母輸入鍵

UIKeyboardTypeNumbersAndPunctuation,??數(shù)字和符號

UIKeyboardTypeURL, ? ? ? ? ? ? ? ? ? ? ? URL鍵盤

UIKeyboardTypeNumberPad,?????????????數(shù)字鍵盤

UIKeyboardTypePhonePad, ? ? ? ? ? ? ??電話號碼輸入鍵盤

UIKeyboardTypeEmailAddress, ? ? ? ? ?郵件地址輸入鍵盤

9、鍵盤風(fēng)格

textView.keyboardAppearance=UIKeyboardAppearanceDefault;

可選屬性

UIKeyboardAppearanceDefault,?默認(rèn)外觀,淺灰色

UIKeyboardAppearanceAlert,?????深灰?石墨色

10、設(shè)置自定義鍵盤

UIView?*customView?=?[[UIView?alloc]?initWithFrame:CGRectMake(0,0,320.300)];

//位置和寬由系統(tǒng)決定。

textField.inputView?=?customView?;

inputAccessoryView?設(shè)置系統(tǒng)鍵盤或自定義鍵盤上的視圖

11、設(shè)置左右視圖

UITextField?可以直接設(shè)置?leftView?或?rightView,?文本輸入?yún)^(qū)域就在?leftView?和?rightView?之間。

textField.leftView?=?leftview;

textField.leftViewMode?=?UITextFieldViewModeAlways;

右視圖rightView也是一樣,Mode有四種

UITextFieldViewModeNever,?從不出現(xiàn)

UITextFieldViewModeWhileEditing?編輯時顯示

UITextFieldViewModeUnlessEditing?不編輯時顯示

UITextFieldViewModeAlways??總是顯示

12、設(shè)置清除按鈕顯示模式

textField.clearButtonMode?=?UITextFieldViewModeAlways;

Mode同左右視圖的mode一樣。

13、再次編輯時是否清空之前內(nèi)容;默認(rèn)NO

textField.clearsOnBeginEditing?=?YES

14、對齊方式

垂直對齊:

textField.contentVerticalAlignment?=?UIControlContentVerticalAlignmentCenter

可選屬性:

UIControlContentVerticalAlignmentCenter??居中對齊

UIControlContentVerticalAlignmentTop????頂部對齊,默認(rèn)是頂部對齊

UIControlContentVerticalAlignmentBottom?底部對齊

UIControlContentVerticalAlignmentFill????完全填充

水平對齊:

textField.textAlignment?=?UITextAlignmentCenter;

可選屬性:

UITextAlignmentLeft,左對齊,默認(rèn)是左對齊

UITextAlignmentCenter,

UITextAlignmentRight,右對齊

15、?設(shè)置滾動

textField.font?=?[UIFont?systemFontOfSize:30];?設(shè)置文字大小

textField.adjustsFontSizeToFitWidth?=?YES;?默認(rèn)是NO??YES當(dāng)充滿邊框時,文字會縮小,當(dāng)小到一定程度時仍然會滾動;自適應(yīng)寬度;

設(shè)置滾動時最小字號,與滾動相關(guān),要比設(shè)置的字體小,否則沒有意義,沒有設(shè)置這一項文字也會縮小和滾動

textField.minimumFontSize?=?20;

16、設(shè)置return鍵

textField.returnKeyType?=?UIReturnKeyGoogle;search

可選屬性

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,?緊急呼叫按鈕

17、設(shè)置輸入自動糾正模式

textField.autocapitalizationType?=?UITextAutocapitalizationTypeAllCharacters;

可選屬性:

UITextAutocapitalizationTypeNone,?不自動糾正

UITextAutocapitalizationTypeWords,??單詞首字母大寫

UITextAutocapitalizationTypeSentences,??句子的首字母大寫

UITextAutocapitalizationTypeAllCharacters,?所有字母都大寫

二、文本編輯框代理

1、是否進(jìn)入編輯模式

-?(BOOL)textFieldShouldBeginEditing:(UITextField?*)textField

默認(rèn)返回YES,進(jìn)入編輯模式。NO不進(jìn)入編輯模式

2、進(jìn)入編輯模式

-?(void)textFieldDidBeginEditing:(UITextField?*)textField

3、是否退出編輯模式

-?(BOOL)textFieldShouldEndEditing:(UITextField?*)textField

默認(rèn)返回YES,退出編輯模式。NO不退出編輯模式

4、退出編輯模式

-?(void)textFieldDidEndEditing:(UITextField?*)textField

5、點(diǎn)擊清除按鈕是否清除

-?(BOOL)textFieldShouldClear:(UITextField?*)textField

默認(rèn)返回YES,返回NO不清除

6、點(diǎn)擊鍵盤上Return按鈕時候調(diào)用

-?(BOOL)textFieldShouldReturn:(UITextField?*)textField

7、當(dāng)輸入任何字符時,代理調(diào)用該方法

-(BOOL)textField:(UITextField?*)field?shouldChangeCharactersInRange:(NSRange)range?replacementString:(NSString?*)string

當(dāng)輸入字符時,代理調(diào)用該方法,如果返回YES則這次輸入可以成功,如果返回NO,不能輸入成功。range表示光標(biāo)位置,string表示這次輸入的字符串。

參考:http://www.cnblogs.com/zy1987/p/3196226.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容