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_lee2840 Il y a quelques jours677

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

  • 怪我咯

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

    Je viens de copier votre code et de l'exécuter. Cela fonctionne. Il y a une réaction lorsque vous cliquez sur le bouton. Le code est bien. Il se peut que vous soyez
    1. Votre classe parent interdit l'interaction (userInteractionEnabled)
    2 Elle peut être bloquée par quelque chose,
    3 Il se peut aussi que le cadre de contrôle parent défini par votre cadre dépasse. ,
    4.xcode est à l'étroit.

    répondre
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    Hors sujet, essayez ReactiveCocoa
    Ne vous sentez pas trop à l'aise pour ajouter un événement au bouton

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

    De cette façon, vous pouvez compléter le addTarget et écrire un sélecteur ci-dessus

    répondre
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    forControlEvents:UIControlEventTouchDown
    改为TouchUpInside

    répondre
    0
  • 天蓬老师

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

    La réponse est correcte à l'étage. Les énumérations correspondent à différents événements. Il semble que l'affiche soit un débutant. Il est recommandé de développer une bonne habitude de cmd et de cliquer pour lire le fichier d'en-tête.

    répondre
    0
  • 伊谢尔伦

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

    UIControlEventTouchDown a été remplacé par TouchUpInside
    Êtes-vous débutant ?
    Encourageons-nous les uns les autres !!!1

    répondre
    0
  • Annulerrépondre