在ViewDidLoad 里添加UIButton的点击事件,不能触发。

UIButton *btn2 = [[UIButton alloc] initWithFrame:CGRectMake(0, 38, 100, 38)];
[btn2 setTitle:@"添加好友" forState:UIControlStateNormal]; btn2.titleLabel.font = [UIFont systemFontOfSize:16];
[btn2 addTarget:self action:@selector(btn2Click:) forControlEvents:UIControlEventTouchDown];

之前可以触发, 现在不知是何原因不能触发了?

阅读 8.1k
4 个回答

首先更改

[btn2 addTarget:self action:@selector(btn2Click:) forControlEvents:UIControlEventTouchUpInside];

这样还不行的话,检查下父视图的属性 User Interaction Enabled,或者查看btn2Click:方法

改成如下代码再试试

UIButton *btn2 = [[UIButton alloc] initWithFrame:CGRectMake(0, 38, 100, 38)];
[btn2 setTitle:@"添加好友" forState:UIControlStateNormal]; btn2.titleLabel.font = [UIFont systemFontOfSize:16];
[btn2 addTarget:self action:@selector(btn2Click:) forControlEvents:UIControlEventTouchUpInside];

图片描述

这样写不对吗?为什么时好时坏?

麻烦 forControlEvents 的枚举改成:
UIControlEventTouchUpInside
另外button 有intrinctSize。你是否点在这个范围内

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题