标签:
限制输入长度的问题,在这里完美的解决了!
//先创建一个textField 和 一个button。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#import "ViewController.h" @interface ViewController ()<UITextFieldDelegate> { UITextField *currentTextFeild; UIButton *touchButton; } @end @implementation ViewController - ( void )viewDidLoad { [ super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UITextField *textFields = [[UITextField alloc] initWithFrame:CGRectMake(15, 50, self .view.bounds.size.width-15*2, 40)]; textFields.backgroundColor = [UIColor brownColor]; textFields.layer.cornerRadius = 5; textFields.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 40)]; textFields.leftViewMode = UITextFieldViewModeAlways; //这两行是为了不让Text太贴textField的左边 textFields.placeholder = @ "请输入手机号" ; textFields.delegate = self ; [ self .view addSubview:textFields]; currentTextFeild = textFields; UIButton *enableButton = [UIButton buttonWithType:UIButtonTypeCustom]; enableButton.frame = CGRectMake(15, 100, self .view.bounds.size.width-15*2, 40); enableButton.layer.cornerRadius = 5; enableButton.backgroundColor = [UIColor grayColor]; [enableButton setTitle:@ "没内容不可点击" forState:UIControlStateNormal]; [enableButton setTitle:@ "可以按了" forState:UIControlStateSelected]; [enableButton setTitle:@ "按下去了" forState:UIControlStateHighlighted]; enableButton.enabled = NO ; [enableButton addTarget: self action: @selector (btnClick) forControlEvents:UIControlEventTouchUpInside]; [ self .view addSubview:enableButton]; touchButton = enableButton; } - ( void )btnClick { } |
//设置textField代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#pragma mark - UITextFieldDelegate - ( BOOL )textFieldShouldBeginEditing:(UITextField *)textField { return YES ; } - ( void )textFieldDidEndEditing:(UITextField *)textField { } - ( BOOL )textField:(UITextField *)textField shouldChangeCharactersInRange:( NSRange )range replacementString:( NSString *)string { //用来判断是否可以继续输入, - range.length是为了判断是否可以删除 NSInteger currentLength = textField.text.length - range.length + string.length; if (currentLength > 11) { return NO ; } //判断按钮是否可以enable = YES if (currentTextFeild.text && currentTextFeild.text.length > 0 && currentLength > 0) { touchButton.enabled = YES ; touchButton.selected = YES ; } else { touchButton.enabled = NO ; touchButton.selected = NO ; } if (currentLength <= 0) { touchButton.enabled = NO ; touchButton.selected = NO ; } return YES ; } - ( BOOL )textFieldShouldClear:(UITextField *)textField { if (currentTextFeild.tag == 11 || currentTextFeild.tag == 12) { //手机号 touchButton.enabled = NO ; touchButton.selected = NO ;; } return YES ; } - ( BOOL )textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES ; } |
只要有基础的,差不多都能看明白。。。
标签:
原文地址:http://www.cnblogs.com/jiafuyang/p/4829120.html