UITableviewCell中的一个button

我有用nib文件创build的UItableViewCell,并把我的单元格中的button。 我hace创build了一个IBAction关联一个动作,当用户点击button。但我有一个崩溃,我不知道这是什么问题,我已经设置了所有必要的事情。

//in my .h -(IBAction)go; //in my .m -(IBAction)go { NSLog(@"hello"); } 

但是我有一个崩溃,没有什么是显示在CONSOLdebugging。

我怎么能在UITableviewcell中设置一个button,并与这个button关联一个动作。 感谢您的回答

以编程方式创buildbutton并将其添加到单元格的子视图中。 将标签设置为indexPath.row值并将该目标添加到button。 现在在目标中,你可以简单地使用:

  -(void)buttonInsideCellIsPressed : (id)sender{ UIButton *button = (UIButton *)sender; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:button.tag inSection:0]; CustomCell *cell = (CustomCell*)[myTable cellForRowAtIndexPath:indexPath]; // Here you may change the background image for the button for rollover or anything } 

在我看来,设置标签是一个不好的方法。 它限制了应用程序中标签的更好的使用。

 NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]]; 

使用这种方法,您实际上可以检索单元格的IndexPath。

这是为我工作…

 - (void)yourButton:(id)sender{ NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint: currentTouchPosition]; CustomCellClass *cell = (CustomCellClass *)[self.tableView cellForRowAtIndexPath:indexPath]; NSString *myFooText = cell.cellLabelFoo.text; } 

以编程方式创buildbutton并将其添加到单元格子视图。

您可以使用此代码在编程上将IBAction与button关联,而不必使用nib:

 [myButton addTarget:self action: @selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside]; 

坠机事件可能是由于以下原因

  1. 你已经添加一个视图控制器到你的单元格并释放它。 因此,当点击button时,无法find控制器来处理水龙头
  2. 当您添加点按事件的buttoncallback时,您没有指定有效的select器
  3. 您可能正在访问空数据

如果您发布了一些关于如何创build单元格的代码,您将能够获得更多的信息。

你需要创build一个方法并将(id)发送者传递给它; 试试这下面..hope这个作品..这是你写你在什么地方button和调用方法..

 [myButton addTarget:self action: @selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; -(void)buttonPressed:(id)sender{ nslog(@"hi"); } 

希望这个作品