#import "ViewController.h"
@interface ViewController ()<UIScrollViewDelegate ,UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *textFlied;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 1.UIButton 直接addTarget
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
// 2.UIScrollView 遵守协议,实现代理方法
UIScrollView *scrollView = nil;
scrollView.delegate = self;
// 3.UISegmentedControl 直接addTaget
UISegmentedControl *s = [[UISegmentedControl alloc] initWithItems:@[@"123",@"234",@"456",@"567"]];
s.selectedSegmentIndex = 0;
[s addTarget:self action:@selector(sClick:) forControlEvents:UIControlEventValueChanged];
s.center = CGPointMake(self.view.center.x, 200);
[self.view addSubview:s];
// 4.textFlied 1)遵守协议,实现代理方法 2)textField比较特殊,它是继承自UIControl,也可以直接addTarget实现监听
self.textFlied.delegate = self;
// [self.textFlied addTarget:self action:@selector(tfEditingDidBegin) forControlEvents:UIControlEventEditingDidBegin];
// [self.textFlied addTarget:self action:@selector(tfEditingDidEnd) forControlEvents:UIControlEventEditingDidEnd];
// [self.textFlied addTarget:self action:@selector(tfEditingChanged:) forControlEvents:UIControlEventEditingChanged];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
// 退出键盘
// [self.textFlied endEditing:YES];
// 辞去第一响应者(退出键盘)
// [self.textFlied resignFirstResponder];
[self.view endEditing:YES];
}
#pragma mark - textFlied监听方法
- (void)tfEditingDidBegin
{
NSLog(@"开始编辑");
}
- (void)tfEditingDidEnd
{
NSLog(@"结束编辑");
}
- (void)tfEditingChanged:(UITextField *)tf
{
NSLog(@"%@",tf.text);
}
#pragma mark - UITextFieldDelegate
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"开始编辑");
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"结束编辑");
}
/**
* 当textField文字改变就会调用这个方法
* @param string 用户输入的文字
*
* @return YES:允许用户输入;NO:禁止用户输入
*/
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"shouldChangeCharactersInRange--%@",string);
if ([string isEqualToString:@"1"]) {
return NO;
}
return YES;
}
- (void)btnClick:(UIButton *)btn
{
}
- (void)sClick:(UISegmentedControl *)s
{
NSLog(@"%ld",s.selectedSegmentIndex);
}
@end