iOS学习-UITextField代理
1 // 2 // ViewController.m 3 // UITextField代理 4 // 5 // Created by 大欢 on 16/1/22. 6 // Copyright © 2016年 bjsxt. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 11 @interface ViewController ()<UITextFieldDelegate> 12 13 @property (nonatomic, strong) UITextField * userTF; 14 15 @property (nonatomic, strong) UITextField * pwdTF; 16 17 @end 18 19 @implementation ViewController 20 21 - (void)viewDidLoad { 22 [super viewDidLoad]; 23 24 UITextField * userTextField = [[UITextField alloc] initWithFrame:CGRectMake(20, 50, CGRectGetWidth(self.view.frame) - 40, 50)]; 25 userTextField.placeholder = @"请输入用户名"; 26 userTextField.borderStyle = UITextBorderStyleRoundedRect; 27 userTextField.delegate = self; 28 userTextField.clearButtonMode = UITextFieldViewModeAlways; 29 userTextField.returnKeyType = UIReturnKeyNext; 30 [self.view addSubview:userTextField]; 31 self.userTF = userTextField; 32 33 UITextField * pwdTextField = [[UITextField alloc] initWithFrame:CGRectMake(20, CGRectGetMaxY(userTextField.frame) + 20, CGRectGetWidth(self.view.frame) - 40, 50)]; 34 pwdTextField.placeholder = @"请输入密码"; 35 pwdTextField.borderStyle = UITextBorderStyleRoundedRect; 36 pwdTextField.delegate = self; 37 pwdTextField.returnKeyType = UIReturnKeyGo; 38 [self.view addSubview:pwdTextField]; 39 self.pwdTF = pwdTextField; 40 41 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidBeginEditingNotification:) name:UITextFieldTextDidBeginEditingNotification object:nil]; 42 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidEndEditingNotification:) name:UITextFieldTextDidEndEditingNotification object:nil]; 43 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidChangeNotification:) name:UITextFieldTextDidChangeNotification object:nil]; 44 45 } 46 47 - (void)textDidBeginEditingNotification:(NSNotification *)notifi { 48 NSLog(@"开始"); 49 } 50 51 - (void)textDidEndEditingNotification:(NSNotification *)notifi { 52 NSLog(@"结束"); 53 } 54 55 - (void)textDidChangeNotification:(NSNotification *)notifi { 56 57 UITextField * tf = notifi.object; 58 NSLog(@"%@",tf.text); 59 } 60 61 //是否可以开始编辑 62 63 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 64 65 return YES; 66 } 67 68 //是否可以结束编辑 69 70 //- (BOOL)textFieldShouldEndEditing:(UITextField *)textField { 71 // 72 // return YES; 73 //} 74 // 75 //- (void)textFieldDidBeginEditing:(UITextField *)textField { 76 // 77 // NSLog(@"已经开始"); 78 //} 79 // 80 //- (void)textFieldDidEndEditing:(UITextField *)textField { 81 // 82 // NSLog(@"已经结束"); 83 //} 84 // 85 //- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 86 // 87 // if (range.location > 2) return NO; 88 // 89 // NSLog(@"%@",NSStringFromRange(range)); 90 // 91 // NSLog(@"%@",string); 92 // 93 // 94 // return YES; 95 //} 96 97 //clearbutton 如果是NO不好使 98 99 //- (BOOL)textFieldShouldClear:(UITextField *)textField { 100 // 101 // return NO; 102 //} 103 104 105 - (BOOL)textFieldShouldReturn:(UITextField *)textField { 106 107 if (self.userTF == textField) { 108 [self.pwdTF becomeFirstResponder]; 109 } else if (self.pwdTF == textField) { 110 [self.pwdTF resignFirstResponder]; 111 } 112 113 return YES; 114 } 115 116 117 118 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { 119 120 [self.userTF resignFirstResponder]; 121 122 [self.pwdTF resignFirstResponder]; 123 124 } 125 126 127 @end