2013-01-16 57 views
0

我使用的按钮组具有不同的图像和tableview与我的project.every单元格中的自定义单元格按组每个按钮时单元格将会有一组组件(如imageview,按钮,标签,滑块)被添加。 我的按钮图像,也添加到单元格的imageview。获取表格的索引路径

当我再次按下按钮时,如何获得每个单元格的索引。

当我第一次按下按钮时,将会添加单元格。 当第二次按下,我想增加单元格内的标签值。所以我需要indexpath从单元格中的单元格从tableview。

+0

cell.index?这是你在找什么? – lakesh

+0

单元格将在第一次按下按钮时添加。 – Krishnan8190

+0

当第二次按第二次我想增加单元格内的标签值。因此,我需要indexpath从单元格的表格单元格 – Krishnan8190

回答

0

我不确定你在找什么,也许你可以澄清你想要做什么。

方法indexPathForCell:是一个UITableView方法,它为您提供某个单元格的索引。

澄清你的问题,也许我们可以帮助更多。

1

可以调用按钮触摸事件获得的UITableView的细胞 -

UIView *cellView = (UIVIew *)[button superview]; 
UITableViewCell *cell = (UITableViewCell *)[cellView superview]; 
NSIndexPath *indexPath = [self.tableview indexPathForCell:cell]; 
+0

你假设按钮是单元格的直接子视图。然而这个方法和我一样。无论哪种方式,使用superview做这种东西不是很好。我建议OP让他们思考一下他们​​的架构,并考虑重新设计。 – Bergasms

+0

@Bergasms是的,你是对的,需要了解他们的架构。我会制定出另一个选项并尽快编辑答案。 –

+0

帮我解决这个问题。 – Krishnan8190

0

不知道你的细胞,表或类似的东西的结构。此代码将起作用。

-(NSIndexPath *) pathForButton:(UIbutton *) b { 
     UITableView *tv = nil; 
     UIView *superView = [b superview]; 
     UIView *cell; 
     while(superview != nil && ![superview isKindOfClass:[UITableView class]]){ 
      cell = superview; 
      superview = [superview superview]; 
     } 

     if(superview != nil && cell != nil){ 
      tv = (UITableView*)superview; 

      return [tv indexPathForCell:cell]; 
     } 
     return nil; 
} 
+0

按钮不在单元格内 – Krishnan8190

+0

我有7个按钮 – Krishnan8190

+0

当按下每个按钮时,单元格将与按钮图像一起添加。 – Krishnan8190