Ios cell上Btn的三种方法

记录一下:

1.最简单的一种,只有一组的情况下使用  也就是section为1:

cell.delegate=self;

cell.selectBtn.tag= indexPath.row;

既用btn的tag值来记录。

2.给 cell上的多选按钮添加点击事件

[cell.selectBtn Target:self action:@selector(cellBtnClicked:event:) forControlEvents:UIControlEventTouchUpInside];

//cell的点击事件点击每一个cell上的多选按钮 能获取到当前是哪个cell

- (void)cellBtnClicked:(id)sender event:(id)event

{

 NSSet *touches =[eventallTouches];

 UITouch *touch =[touchesanyObject];

 CGPoint currentTouchPosition = [touchlocationInView:_tableView];

 NSIndexPath *indexPath= [_tableViewindexPathForRowAtPoint:currentTouchPosition];

 if (indexPath!=nil)

    {

 NSLog(@"uuuuuu:%ld",(long)indexPath.section) ;

 // do something

    }

}

3.给 button 连线成方法 在方法中获取

在storyBoard仔细观察你的Btn上面一共有几层才能到你的cell,

也就是属一下上面有几个父类才到cell

如果btn是在Cell的ContentView上,那么向上找3层 

依此类推

- (IBAction)shopSelectBtn:(UIButton *)sender 

{

    UIView*v = [sender superview];//获取父类view

    UIView*v1 = [v superview];

    UITableViewCell *cell = (UITableViewCell *)[v1 superview];//获取cell

    NSIndexPath*indexPathAll = [self.tableView indexPathForCell:cell];//获取cell对应的indexPath

    NSLog(@"indexPath:--------%@",indexPathAll);

}

目前最常用的就这三种方法

你可能感兴趣的:(Ios cell上Btn的三种方法)