未调用UIButton选择器

时间:2011-08-26 09:24:32

标签: objective-c ipad uibutton event-listener

我在课堂上有一个UIButton。我想像这样设置按钮的目标。

[myController.dateButton addTarget:self action:@selector(showAction:) forControlEvents:UIControlEventTouchUpInside];

出于某种原因,当我按下按钮时,从不调用选择器。我尝试通过执行以下操作来调试问题,但我对NSSet

没有问题
NSSet *allTargets = [myController.dateButton allTargets];

有关我可能做错的任何建议吗?

选择器定义如下:

- (void)showAction:(id)sender
{
   // Do stuff
}

1 个答案:

答案 0 :(得分:4)

也许这就是解决方案,因为我认为您的代码中存在任何问题。

当您将按钮声明为

UIButton* tempBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

从未在btn上发布过这个版本。

[tempBtn release];//dont do this!!

我自己尝试了这个并且工作正常。

- (void)viewDidLoad {
     [super viewDidLoad];

     UIButton* tempBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
     tempBtn.frame = CGRectMake(50, 50, 50, 50);
     [tempBtn addTarget:self action:@selector(hello:) forControlEvents:UIControlEventTouchUpInside];
     [self.view addSubview:tempBtn];

}

- (void) hello:(id) sender
{
    NSLog(@"helloooo");
}