ios - target监听button点击,没有任何响应。
ringa_lee
ringa_lee 2017-04-17 18:00:35
0
5
669
/** 创建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];
  • (void)touchDown {
    NSLog(@"按钮被按下");
    }

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

ringa_lee
ringa_lee

ringa_lee

membalas semua(5)
刘奇

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.

PHPzhong

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

PHPzhong

forControlEvents:UIControlEventTouchDown
改为TouchUpInside

Peter_Zhu

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

伊谢尔伦

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan