UITextFeild

问题一: 设置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];

}

重点:该类是UITextFeild的子类,子类重写父类的方法即可,如果直接使用往往paste:方法不被执行

(遇到问题二:)设置UITextFeild的边框

设计师往往需要使用一些边框,颜色,的问题

1、设置边框样式

textField.borderStyle = UITextBorderStyleRoundedRect;//圆角

可选属性:

UITextBorderStyleNone,无边框

UITextBorderStyleLine,有边框

UITextBorderStyleBezel,有边框和阴影

UITextBorderStyleRoundedRect圆角

2、设置背景颜色

textField.backgroundColor = [UIColor blueColor];

3、设置背景图片

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

4、提示文字

textField.placeholder = @"请输入";

5、设置和读取文字内容

textField.text = @”hello”;

NSString * str = textField.text;

6、设置字体

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

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

7、密文输入

textField.secureTextEntry = YES;

8、键盘类型

textField.keyboardType = UIKeyboardTypeNumberPad;  数字键

UIKeyboardTypeDefault,                   当前键盘(默认)

UIKeyboardTypeASCIICapable,          字母输入键

UIKeyboardTypeNumbersAndPunctuation,  数字和符号

UIKeyboardTypeURL,                       URL键盘

UIKeyboardTypeNumberPad,             数字键盘

UIKeyboardTypePhonePad,               电话号码输入键盘

UIKeyboardTypeEmailAddress,          邮件地址输入键盘

9、键盘风格

textView.keyboardAppearance=UIKeyboardAppearanceDefault;

可选属性

UIKeyboardAppearanceDefault, 默认外观,浅灰色

UIKeyboardAppearanceAlert,     深灰 石墨色

10、设置自定义键盘

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

//位置和宽由系统决定。

textField.inputView = customView ;

inputAccessoryView 设置系统键盘或自定义键盘上的视图

11、设置左右视图

UITextField 可以直接设置 leftView 或 rightView, 文本输入区域就在 leftView 和 rightView 之间。

textField.leftView = leftview;

textField.leftViewMode = UITextFieldViewModeAlways;

右视图rightView也是一样,Mode有四种

UITextFieldViewModeNever, 从不出现

UITextFieldViewModeWhileEditing 编辑时显示

UITextFieldViewModeUnlessEditing 不编辑时显示

UITextFieldViewModeAlways  总是显示

12、设置清除按钮显示模式

textField.clearButtonMode = UITextFieldViewModeAlways;

Mode同左右视图的mode一样。

13、再次编辑时是否清空之前内容;默认NO

textField.clearsOnBeginEditing = YES

14、对齐方式

垂直对齐:

textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter

可选属性:

UIControlContentVerticalAlignmentCenter  居中对齐

UIControlContentVerticalAlignmentTop    顶部对齐,默认是顶部对齐

UIControlContentVerticalAlignmentBottom 底部对齐

UIControlContentVerticalAlignmentFill    完全填充

水平对齐:

textField.textAlignment = UITextAlignmentCenter;

可选属性:

UITextAlignmentLeft,左对齐,默认是左对齐

UITextAlignmentCenter,

UITextAlignmentRight,右对齐

15、 设置滚动

textField.font = [UIFont systemFontOfSize:30]; 设置文字大小

textField.adjustsFontSizeToFitWidth = YES; 默认是NO  YES当充满边框时,文字会缩小,当小到一定程度时仍然会滚动;自适应宽度;

设置滚动时最小字号,与滚动相关,要比设置的字体小,否则没有意义,没有设置这一项文字也会缩小和滚动

textField.minimumFontSize = 20;

16、设置return键

textField.returnKeyType = UIReturnKeyGoogle;search

可选属性

UIReturnKeyDefault, 默认 灰色按钮,标有Return

UIReturnKeyGo,      标有Go的蓝色按钮

UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索

UIReturnKeyJoin,标有Join的蓝色按钮

UIReturnKeyNext,标有Next的蓝色按钮

UIReturnKeyRoute,标有Route的蓝色按钮

UIReturnKeySearch,标有Search的蓝色按钮

UIReturnKeySend,标有Send的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyEmergencyCall, 紧急呼叫按钮

17、设置输入自动纠正模式

textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;

可选属性:

UITextAutocapitalizationTypeNone, 不自动纠正

UITextAutocapitalizationTypeWords,  单词首字母大写

UITextAutocapitalizationTypeSentences,  句子的首字母大写

UITextAutocapitalizationTypeAllCharacters, 所有字母都大写

二、文本编辑框代理

1、是否进入编辑模式

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

默认返回YES,进入编辑模式。NO不进入编辑模式

2、进入编辑模式

- (void)textFieldDidBeginEditing:(UITextField *)textField

3、是否退出编辑模式

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField

默认返回YES,退出编辑模式。NO不退出编辑模式

4、退出编辑模式

- (void)textFieldDidEndEditing:(UITextField *)textField

5、点击清除按钮是否清除

- (BOOL)textFieldShouldClear:(UITextField *)textField

默认返回YES,返回NO不清除

6、点击键盘上Return按钮时候调用

- (BOOL)textFieldShouldReturn:(UITextField *)textField

7、当输入任何字符时,代理调用该方法

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

当输入字符时,代理调用该方法,如果返回YES则这次输入可以成功,如果返回NO,不能输入成功。range表示光标位置,string表示这次输入的字符串。

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

你可能感兴趣的:(UITextFeild)