如何从单元格中获取UITableView
中的indexPath
我在stack overflow和google上搜索过,但所有的信息都在相反的方向上。有没有什么方法可以访问superView
/UITableView
,然后搜索该细胞?
关于上下文的更多信息:我有两个类,一个叫做Cue
,一个叫做CueTableCell
(这是UITableViewCell
的一个子类) CueTableCell
是Cue
的可视化表示(两个类都有指向对方的指针)。Cue
对象在一个链表中,当用户执行某个命令时,需要选择下一个Cue
的可视表示( CueTableCell
)。因此,Cue
类在列表中的下一个Cue
上调用select
方法,该方法从cell
检索UITableView
并调用其selectRowAtIndexPath:animated:scrollPosition:
,为此它需要UITableViewCell
的indexPath
。
发布于 2013-11-29 04:10:11
在你的UITableViewCell中试试这个:
NSIndexPath *indexPath = [(UITableView *)self.superview indexPathForCell: self];
编辑:这似乎不适用于iOS 8.1.2及更高版本。感谢克里斯·普林斯的指点。
发布于 2015-10-06 19:20:58
你可以试试这个简单的技巧:
在您的UITableViewCell
类上:
@property NSInteger myCellIndex; //or add directly your indexPath
在你的cellForRowAtIndexPath
方法上:
...
[cell setMyCellIndex : indexPath.row]
现在,您可以在任何位置检索单元格索引
发布于 2016-06-02 18:23:36
对于swift
let indexPath :NSIndexPath? = (self.superview.superview as! UITableView)?.indexPathForCell(self)
https://stackoverflow.com/questions/15711889
复制相似问题