IOS 通过UITableView上的Button传递参数
2013-11-15 18:58
1031 查看
在做IOS项目时,经常会碰到需要自定义cell的情况,并且在cell上面有Button,点击Button的时候需要响应事件,这个我们可以需要传递一些参数,但是仅仅通过Button没有办法传递我们的参数,这个时候我们就需要找到承载Button的cell,通过cell传递一些参数。
下面介绍点击自定义的cell上面的Button传递一些参数,首先我们自定义一个cell,在cell中定义一下我们要传递的参数,在这里我们定义一个id,点击button事件的时候我们获取这个id,然后根据这个id去执行相应的操作,在Button点击的事件里面获取cell对象的方法有如下两种方法。
[cell.btnview addTarget:self
action:@selector(viewdetailinfo:)
forControlEvents:UIControlEventTouchUpInside];
方法一
方法二
以上两种方法可以传递cell上面自定义Button点击事件的参数。
下面介绍点击自定义的cell上面的Button传递一些参数,首先我们自定义一个cell,在cell中定义一下我们要传递的参数,在这里我们定义一个id,点击button事件的时候我们获取这个id,然后根据这个id去执行相应的操作,在Button点击的事件里面获取cell对象的方法有如下两种方法。
[cell.btnview addTarget:self
action:@selector(viewdetailinfo:)
forControlEvents:UIControlEventTouchUpInside];
方法一
-(void)viewdetailinfo:(UIButton *)sender{ CGRect btnRect=[[sender superview] superview].frame; //假设我们自定义的cell时FriendCell for(FriendCell *cell in [self.tableview visibleCells])//遍历cell { CGRect cellframe=cell.frame; if(CGRectIntersectsRect(btnRect, cellframe))//通过位置判断cell { //点击的button所在的cell,可以通过cell获取参数 } } }
方法二
-(void)viewdetailinfo2:(UIButton *)sender{ UIView * v=[sender superview]; FriendCell *cell=(FriendCell *)[v superview];//找到cell NSIndexPath *indexPath=[self.tableview indexPathForCell:cell];//找到cell所在的行 }
以上两种方法可以传递cell上面自定义Button点击事件的参数。
相关文章推荐
- iOS设计之 表格UITableView 的参数与视图页面之间的相互传递
- iOS -- 通过runtime向Button的点击方法里传递参数实现单选效果
- Unity3D和IOS的交互教程——通过URL启动APP并传递参数
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题
- 如何通过代理之道UItableView上cell上面的button点击的是哪一行的
- iOS开发点滴 - 如何通过Segue写代码传递数据从一个ViewController到另一个ViewController(Swift代码)
- 【代码笔记】iOS-UITableView上的button点击事件
- IOS学习之路十六(UItableView 通过Prepare for segue 页面传值)
- iOS开发点滴 - 如何通过Segue写代码传递数据从一个ViewController到另一个ViewController(Swift代码)
- iOS UITableView的Section Footer加入button
- 【代码笔记】iOS-UITableView上的button点击事件
- IOS学习之路十六(UItableView 通过Prepare for segue 页面传值)
- salesforce commandLink commandButton中通过param传递参数
- ios-day13-01(私人通讯录。控制器之间的数据传递、保存密码和自动登录的实现、普通对象的归档、UITableView的局部刷新和向左滑动删除功能等等)
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题)
- 在UITableView或UICollectionView的自定义的cell里添加手势或button,响应方法时如何传参数
- [iOS]swift之UITableView添加通过xib创建的headerView坑爹问题
- Unity3D和IOS的交互教程——通过URL启动APP并传递参数
- EXTJS通过Button按钮向弹出的IFRAM窗口传递参数与获取参数
- [iOS]UITableView添加通过xib创建的headerView坑爹问题