問題一: 設(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