将UIButton的目标设置为IBAction不起作用(Objective-C)

时间:2013-05-17 17:09:03

标签: ios objective-c uibutton

以下用于以编程方式将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];

编辑:完成!用户操作未启用。有人可以提出这个答案,我会说真的吗?

1 个答案:

答案 0 :(得分:2)

googleIt的选择器缺少冒号,表示它需要参数

应该是

[google addTarget:self action:@selector(googleIt:) forControlEvents:UIControlEventTouchUpInside];

编辑,从评论中添加:选择器是问题的一部分,但是在包含按钮的视图中未启用用户交互。