ios - target监听button点击,没有任何响应。
ringa_lee
ringa_lee 2017-04-17 18:00:35
0
5
633
/** 创建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

全部回覆(5)
刘奇

剛剛把你的程式碼拷貝一了下 運行,是可以的。點選button有反應。代碼沒問題。可能是的你是
1.你的父類禁止了交互(userInteractionEnabled)
2.也可能是有東擋住了,
3.也可以是你frme設定的父控件frme超出了、
4.xcode 抽筋了。

PHPzhong

題外話,試試 ReactiveCocoa 這個東西
給 button 添加一個事件這種,不要太舒服

UIButton *btn = [[UIButton alloc]init];

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

就這樣可以完成你上面的 addTarget 和 寫一個 selector 的事情

PHPzhong

forControlEvents:UIControlEventTouchDown
改為TouchUpInside

Peter_Zhu

樓上已經正解,枚舉均對應不同的事件,看樓主應該是初學,建議養成cmd加點擊看頭文件的好習慣,加油

伊谢尔伦

UIControlEventTouchDown 改為TouchUpInside
樓主是初學者吧?
共勉!!!1

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板