recherche

Maison  >  Questions et réponses  >  le corps du texte

ios - target监听button点击,没有任何响应。

/** 创建btn */
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
btn.frame = CGRectMake((self.view.frame.size.width - 100)*0.5, 500, 100, 50);
btn.backgroundColor = [UIColor greenColor];
btn.tintColor = [UIColor blackColor];
[btn setTitle:@"按住拍" forState:UIControlStateNormal];
[self.view addSubview:btn];

/** 监听事件 */
[btn addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];

纯代码创建button,target监听button的点击事件,不明白为何点击button却没有任何响应。

ringa_leeringa_lee2768 Il y a quelques jours642

répondre à tous(5)je répondrai

  • 怪我咯

    怪我咯2017-04-17 18:02:35

    刚刚把你的代码拷贝一了下 运行,是可以的。点击button有反应。代码没问题。可能是的你是
    1.你的父类禁止了交互(userInteractionEnabled)
    2.也可能是有东挡住了,
    3.也可以是你frme设置的父控件frme超出了、
    4.xcode 抽筋了。

    répondre
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    题外话,试下 ReactiveCocoa 这个东西
    给 button 添加一个事件这种,不要太舒服

    UIButton *btn = [[UIButton alloc]init];
    
    [[btn rac_signalForControlEvents:UIControlEventTouchUpInside]
        subscribeNext:^(id x) {
        // 点击之后触发
    }];

    就这样就可以完成你上面的 addTarget 和 写一个 selector 的事情

    répondre
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    forControlEvents:UIControlEventTouchDown
    改为TouchUpInside

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:02:35

    楼上已经正解,枚举均对应不同的事件,看楼主应该是初学,建议养成cmd加点击看头文件的好习惯,加油

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 18:02:35

    UIControlEventTouchDown 改为TouchUpInside
    楼主是初学者吧?
    共勉!!!1

    répondre
    0
  • Annulerrépondre