UIButton Touch事件无效

时间:2012-01-14 08:21:38

标签: objective-c ios uibutton

menuView= [[UIImageView alloc] initWithFrame:CGRectMake(0,411, 320,49)];

UIButton *test = [UIButton buttonWithType:UIButtonTypeCustom ];
test.frame = CGRectMake(0, 0, 80, 49);

[test addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

[menuView addSubview:test];

[self.view addSubview:menuView];

我触摸内部(测试)按钮。但是没有用。为什么??

2 个答案:

答案 0 :(得分:2)

也许您将buttonPressed:buttonPressed混合在一起。

如果您实施类似

的方法
- (void)buttonPressed
{
}

您需要使用

[test addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];

注意:注意冒号

但是根据你所做的,你需要实现像

这样的方法
- (void)buttonPressed:(id)sender
{
}

答案 1 :(得分:0)

对于更清洁的解决方案,您可以尝试HMUIButtonOnTouch

来源:https://github.com/HelloMihai/HMUIButtonOnTouch

[self.myButton onTouchInside:^{
    NSLog(@"button tap");
}];