如何获取所选行的索引路径



我正在开发一个信使应用程序。我有一个带有自定义单元格的表视图,其中包含一个图像视图和几个标签。

我想在点击不同的UI元素时加载不同的控制器。具体来说,我希望在点击imageView时加载controllerA,在选择行的其余部分时加载controller B。

我在imageview上放了一个按钮,并委托了一个customcellclass,当借助该按钮点击imageview时,通知我的tableview控制器-现在我应该如何获得点击行imageview的索引路径??

//MyCustomClassMethod

-(IBAction)loadProfileButtonTapped:(id)sender{
    [self.loadProfileDelegate takeMeToProfile];
}

//我正在我的表视图控制器中实现这个方法

-(void)takeMeToProfile{
//need indexpath here
}

假设您的表视图名为tableView,并且您在获取发件人的方法中获得了点击图像的引用:

CGPoint imagePosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:imagePosition]; 

这一切都归功于此,所以回答吧!

您不需要有indexpath来实现您想要实现的目标。添加这些自定义视图时,只需为它们提供一个标记,以便在触发按钮单击事件时识别它们。

在自定义单元格的委托方法中传递对self的引用是很常见的,这样您就可以从父VC跟踪indexPath

-(void)takeMeToProfile

这个:

-(void)customCell:(CustomCell*)cell didTapTakeMeToProfile;

当您在CustomCell文件中实现此功能时,只需调用[self.loadProfileDelegate customCell:self didTapTakeMeToProfile]即可。既然已经有了对单元格的引用,就可以从父VC调用tableView:indexPathForCell:,并根据需要使用生成的NSIndexPath

最新更新