在iOS7下面已经无效,因为iOS7的层级关系发生变化

UITableViewCell->UITableViewCellScrollView->UITableViewCellContentView->Your custom view

下面有2种方法解决这个问题

-(void) visitButtonClicked:(UIButton *)sender

{

// 第一种,兼容所有的版本

UIView *superView = sender.superview;

UITableViewCell *foundSuperView = nil;

while (nil != superView && nil == foundSuperView) {

if ([superView isKindOfClass:[UITableViewCell class]]) {

foundSuperView = (UITableViewCell *)superView;

} else {

superView = superView.superview;

}

}

NSLog(@"founda = %d", [_tableView indexPathForCell:foundSuperView].row);

// 第2种,不兼容iOS7以下

UITableViewCell *cell = (UITableViewCell *)[[[sender superview] superview] superview];

NSLog(@"foundb = %d", [_tableView indexPathForCell:cell].row);

}

ios uitableview button 获取cell indexpath.row的更多相关文章

  1. IOS 通过button获取cell

    在使用tableview时,有时我们需要在cell中添加button和label,以便添加某项功能,而且往往点这个button的方法中需要知道button所在cell中label内存放的值. 一般而言 ...

  2. iOS UITableView中关于cell里的按钮被点击时如何确定是哪一个section

    在section=10:row=1:的UITableView中,每一个cell都带有一个按钮,例如如下的图片一样每一个cell中都有一个“进入店铺的按钮”,但是如果我点击相应的cell要进入对应的店铺 ...

  3. button 获取 cell

        - (void)cellBtnClicked:(id)sender event:(id)event {     NSSet *touches =[event allTouches];      ...

  4. iOS 获取自定义cell上按钮所对应cell的indexPath.row的方法

    在UITableView或UICollectionView的自定义cell中创建一button,在点击该按钮时知道该按钮所在的cell在UITableView或UICollectionView中的行数 ...

  5. iOS UITableView获取特定位置的cell

    代码地址如下:http://www.demodashi.com/demo/13307.html 一.tableView双级联动 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tab ...

  6. ios UITableView 获取点击cell对象

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { UITabl ...

  7. objc_setAssociatedObject获取cell上button对应所在的行

    #import <UIKit/UIKit.h> @interface TestCell : UITableViewCell @property (weak, nonatomic) IBOu ...

  8. iOS开发UITableView的动画cell

    1.动画cell 针对cell的动画,在Delegate中对cell的layer进行操作: 2.实现代码 #import "ViewController.h" #import &q ...

  9. iOS - UITableView中Cell重用机制导致Cell内容出错的解决办法

    "UITableView" iOS开发中重量级的控件之一;在日常开发中我们大多数会选择自定Cell来满足自己开发中的需求, 但是有些时候Cell也是可以不自定义的(比如某一个简单的 ...

随机推荐

  1. superobject使用方法

    superobject使用方法 ISuperObject.AsObject 可获取一个 TSuperTableString 对象. TSuperTableString 的常用属性: count.Get ...

  2. selenium 定位元素方式大全

    starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...

  3. Lock flag DX

    https://msdn.microsoft.com/en-us/library/windows/desktop/bb322846(v=vs.85).aspx discard nooverwrite ...

  4. java学习之输入,输出流

    输入流与输出流 1,流的分类:字节流和字符流 区别如下: 1,字节流(8位Unicode)在操作的时候本身是不会用到缓冲区(内存)的byte,是与文件本身直接操作的,而字符流(16位Unicode)在 ...

  5. 2017.7.10 (windows)redis的安装

    参考来自:http://www.runoob.com/redis/redis-install.html 1.下载地址 https://github.com/MSOpenTech/redis/relea ...

  6. PS 不能使用移动工具 因为目标图层被隐藏怎么办

    photoshop任何图层都无法移动或者修改,提示目标通道被隐藏. 在ps任何图层都无法移动并且无法使用橡皮擦等修改工具,提示目标通道被隐藏.我看了下通道里面多了一个快速蒙版层(并且是被隐藏的),我打 ...

  7. Django——快速实现注册

    前言 对于web开来说,用户登陆.注册.文件上传等是最基础的功能,针对不同的web框架,相关的文章非常多,但搜索之后发现大多都不具有完整性,对于想学习web开发的新手来说不具有很强的操作性:对于web ...

  8. Android监听HOME键的最简单的方法

    public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; public void onCreate(Bundle savedInsta ...

  9. 【SpringMVC学习11】SpringMVC中的拦截器

    Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用 ...

  10. MongoDB基本命令使用

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...