0

我有一个表格视图,其中包含一行,其中包含一个自定义单元格UIButton。但是,按钮并不总是触发动作。这是我的代码:

   submitButton = [[UIButton alloc] init];

    [[submitButton layer] setBorderColor:[[UIColor whiteColor] CGColor]];
    [submitButton setClipsToBounds: YES];
    submitButton.backgroundColor = [UIColor grayColor];
    [submitButton setTitle:@"Send" forState:UIControlStateNormal];
    [self.contentView addSubview:submitButton];
    [submitButton addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
    [submitButton release];

这在自定义单元格中调用-(id)initWithStyle:

buttonAction方法如下所示:

 -(void)buttonAction
 {
     NSLog(@"Button Clicked!");
 }

似乎我可以buttonAction触发的唯一方法是按下按钮并在单元格框架内的某个位置释放,而不是在按钮本身内部。为什么会这样?

*更新* 问题仍然存在,但我发现让按钮触发的更一致的方法是单击并向左或向右拖动然后松开,只要我在单元格/行的范围内松开.

更新#2 看起来如果我使用 iOS 6.0,它会按预期工作。但在 5.0 或 5.1 上却没有。

4

2 回答 2

0

尝试分配相同的方法调用TouchUpOutside- 然后您应该每次都看到它工作。只有当您在按钮范围内抬起手指时才会触发 TouchUpInside。

于 2013-01-09T21:09:31.953 回答
0

试试[submitButton sizeToFit]。我想知道你的按钮是否有任何尺寸(因为我没有看到你给它任何尺寸)。

[UIButton buttonWithType: UIButtonTypeCustom]另外:使用而不是 alloc-init创建您的按钮。

于 2013-01-09T19:27:07.147 回答