我已经创建了UIButton
的子类,允许我在iPhone上有一个复选框。此复选框是UITableViewCell
的子类的一部分。我的问题是我如何将一个动作附加到按下的按钮,并在表视图控制器中实现该方法?
我尝试使用addTarget:action:
方法,但这似乎不起作用。一种选择是使用App Delegate,但这不是一个好的编程实践。
答案 0 :(得分:2)
好吧,我确实实现了相同的功能。这是我实现它的方式。
创建了自定义单元格。
仅在单元格类中实现按钮操作。
在单元格中声明协议(CustomCellDelegate)&创建一个委托(CustomCellDelegate)属性ofcell。
在cellForRowAtIndexPath:表视图控制器的方法中设置表视图控制器(self)以委托单元的属性。
在视图控制器中实现委托。
从单元格中的按钮操作方法调用委托方法。
让我知道您是否理解它或我需要发布一些代码。
答案 1 :(得分:0)
确保按钮接收触摸事件。您可以通过覆盖
来检查- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
或
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
记录某些内容或在其中任何一个上设置断点。如果您的按钮没有接收到触摸(我认为它没有),请尝试将TableView和/或TableViewCell上的exclusiveTouch
设置为NO。