您的位置:首页 > 产品设计 > UI/UE

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];

方法一

-(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点击事件的参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐