iPhone:如何检测用户何时单击自定义UITableViewCell中的按钮

时间:2011-07-06 01:29:07

标签: iphone button sdk uitableview delegates

我创建了一个在UITableViewCell (cellForRowAtIndexPath)中调用的自定义调用。一切都很好,但后来我在单元格中添加了一个按钮(UIButton)。按钮的“引用插座”是自定义单元格。

当用户点击按钮时,我无法理解如何阅读。我是否需要在包含表格或自定义单元格标题的头文件中声明委托方法?

我尝试了- (void)buttonPressedAction:(id)sender {}方法,但似乎没有检测到按下按钮的时间

我也尝试过:

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

NSSet *aTouch = [event allTouches];
UITouch *touch = [aTouch anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.dashboardTable];
NSIndexPath *indexPath = [self.dashboardTable indexPathForRowAtPoint: currentTouchPosition];

NSLog(@"indexPath %@",indexPath);

}

但是再次,单击按钮时没有任何注册。我尝试将UIGestureRecognizerDelegate添加到.h但没有运气。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您需要设置按钮的操作。如果你这样做是一个XIB所有你需要做的是控制点击按钮,然后拖动到控制器。这应该为您提供按钮可用的操作列表。

要在代码中执行此操作,您将使用 - (void)addTarget:(id)目标操作:(SEL)action forControlEvents:(UIControlEvents)controlEvents方法。

[myButton addTarget:myTargetController action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];