常见控件的事件监听

来源:互联网 发布:c语言算法比较好的书 编辑:程序博客网 时间:2024/05/20 15:41
- (void)viewDidLoad {    [super viewDidLoad];    // 1.UIButton    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];    [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];    [self.view addSubview:btn];    // 2.UIScrollView    UIScrollView *scrollView = nil;    scrollView.delegate = self;    // 3.UISegmentedControl    /*    UISegmentedControl *sg = [[UISegmentedControl alloc] initWithItems:@[@"123",@"234",@"345",@"565"]];    sg.selectedSegmentIndex = 0;    sg.center = CGPointMake(100, 200);    // UIControlEventValueChanged 值改变事件    [sg addTarget:self action:@selector(sgClick:) forControlEvents:UIControlEventValueChanged];    [self.view addSubview:sg];     */    // 4.textField    self.textField.delegate = self;//    [self.textField addTarget:self action:@selector(tfEditingDidBegin) forControlEvents:UIControlEventEditingDidBegin];//     [self.textField addTarget:self action:@selector(tfEditingDidEnd) forControlEvents:UIControlEventEditingDidEnd];//    [self.textField addTarget:self action:@selector(tfEditingChanged:) forControlEvents:UIControlEventEditingChanged];}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{    // 退出键盘//    [self.textField endEditing:YES];    // 辞去第一响应者//    [self.textField resignFirstResponder];    [self.view endEditing:YES];}#pragma mark -textField的事件监听- (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;}#pragma mark - UISegmentedControl的事件监听- (void)sgClick:(UISegmentedControl *)sg{    NSLog(@"sgClick--%ld",sg.selectedSegmentIndex);}#pragma mark - UIButton的事件监听- (void)btnClick:(UIButton *)btn{}
0 0