如何从UITableViewCell中的自定义按钮触发操作

时间:2009-05-17 13:46:19

标签: iphone

我已经创建了UIButton的子类,允许我在iPhone上有一个复选框。此复选框是UITableViewCell的子类的一部分。我的问题是我如何将一个动作附加到按下的按钮,并在表视图控制器中实现该方法?

我尝试使用addTarget:action:方法,但这似乎不起作用。一种选择是使用App Delegate,但这不是一个好的编程实践。

2 个答案:

答案 0 :(得分:2)

好吧,我确实实现了相同的功能。这是我实现它的方式。

  1. 创建了自定义单元格。

  2. 仅在单元格类中实现按钮操作。

  3. 在单元格中声明协议(CustomCellDelegate)&创建一个委托(CustomCellDelegate)属性ofcell。

  4. 在cellForRowAtIndexPath:表视图控制器的方法中设置表视图控制器(self)以委托单元的属性。

  5. 在视图控制器中实现委托。

  6. 从单元格中的按钮操作方法调用委托方法。

  7. 让我知道您是否理解它或我需要发布一些代码。

答案 1 :(得分:0)

确保按钮接收触摸事件。您可以通过覆盖

来检查
- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

记录某些内容或在其中任何一个上设置断点。如果您的按钮没有接收到触摸(我认为它没有),请尝试将TableView和/或TableViewCell上的exclusiveTouch设置为NO。