cari

Rumah  >  Soal Jawab  >  teks badan

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_lee2849 hari yang lalu678

membalas semua(5)saya akan balas

  • 怪我咯

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

    Saya baru sahaja menyalin kod anda dan menjalankannya. Terdapat reaksi apabila mengklik butang. Kod itu baik. Mungkin anda
    1. Kelas ibu bapa anda melarang interaksi (userInteractionEnabled)
    2 Ia mungkin disekat oleh sesuatu,
    3. Mungkin juga kawalan ibu bapa yang ditetapkan oleh frme anda ,
    4.xcode adalah kekejangan.

    balas
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    Di luar topik, cuba ReactiveCocoa
    Jangan berasa terlalu selesa menambahkan acara pada butang

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

    Dengan cara ini anda boleh melengkapkan addTarget dan menulis pemilih di atas

    balas
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    forControlEvents:UIControlEventTouchDown
    改为TouchUpInside

    balas
    0
  • 天蓬老师

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

    Jawapannya betul di tingkat atas. Penghitungan sepadan dengan acara yang berbeza Nampaknya poster itu adalah seorang pemula

    balas
    0
  • 伊谢尔伦

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

    UIControlEventTouchDown telah ditukar kepada TouchUpInside
    Adakah anda seorang pemula?
    Mari kita menggalakkan satu sama lain!!!1

    balas
    0
  • Batalbalas