以下用于以编程方式将UIButton的目标设置为IBAction的代码是否有效?
·H
- (IBAction)googleIt:(id)sender;
.m
UIButton *google = [[UIButton alloc] initWithFrame:CGRectMake(20.0, 15.0, 280.0, 40.0)];
[google addTarget:self action:@selector(googleIt:) forControlEvents:UIControlEventTouchUpInside];
(那是在视图中加载,这是在那之后)
-(IBAction)googleIt:(id)sender {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];
}
编辑:添加了一个:googleIt之后,仍然无法正常工作。当我在故事板中添加一个按钮并将其连接到IBAction时,这是有效的,因此IBAction本身不是问题。
编辑:请求完整按钮代码
UIButton *google = [[UIButton alloc] initWithFrame:CGRectMake(20.0, 15.0, 280.0, 40.0)];
[google addTarget:self action:@selector(googleIt:) forControlEvents:UIControlEventTouchUpInside];
[google setTitle:@"Google 'em" forState:UIControlStateNormal];
[google setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
google.backgroundColor = [UIColor blackColor];
[charityInfo addSubview:google];
编辑:完成!用户操作未启用。有人可以提出这个答案,我会说真的吗?
答案 0 :(得分:2)
googleIt的选择器缺少冒号,表示它需要参数
应该是
[google addTarget:self action:@selector(googleIt:) forControlEvents:UIControlEventTouchUpInside];
编辑,从评论中添加:选择器是问题的一部分,但是在包含按钮的视图中未启用用户交互。