自定义UITableViewCell的accessoryView 判断哪个Button按下

UITableview的开发中经常要自定义Cell右侧的AccessoryView,把他换成带图片的按钮,并在用户Tap时判断出是哪个自定义按钮被按下了。

创建自定义按钮,并设为AccessoryView

if (cell == nil) { 
    cell = [[UITableView alloc] initWithStyle:UITableViewCellStyleDefault                                  reuseIdentifier:identifier]; 
   
    UIImage *image= [ UIImage imageNamed:@"delete.png" ];
    UIButton *button = [ UIButton buttonWithType:UIButtonTypeCustom ];
    CGRect frame = CGRectMake( 0.0 , 0.0 , image.size.width , image.size.height );
    button. frame = frame;
    [button setBackgroundImage:image forState:UIControlStateNormal ];
    button. backgroundColor = [UIColor clearColor ];
    [button addTarget:self action:@selector(buttonPressedAction  forControlEvents:UIControlEventTouchUpInside]; 
    cell. accessoryView = button;
 } 

如果将Button加入到cell.contentView中,也是可以的。

cell.contentView addSubview:button];


在Tap时进行判断,得到用户Tap的Cell的IndexPath

- (void)buttonPressedAction  id)sender 
{ 
   UIButton *button = (UIButton *)sender; 
   (UITableViewCell*)cell = [button superview]; 
   int row = [myTable indexPathForCell:cell].row; 
} 
对于加到contentview里的Button, 
(UITableViewCell*)cell = [[button superview] superview];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值