iOS 为自定义tableView添加button点击事件后获取其序号

转载:http://www.cnblogs.com/fookehi/p/3797788.html

在自定义tableView中,为cell添加button点击事件后,如何获取其对应的序号?

1、创建tableView:

先创建一个成员变量:

@interface MyCameraViewController ()<UITableViewDelegate,UITableViewDataSource>
{

  UITableView *_tableView;

}
@end

在viewDidLoad中初始化

_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 65, 320, [UIScreen mainScreen].bounds.size.height-65) style:UITableViewStylePlain];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    _tableView.backgroundColor = [UIColor clearColor];
    [self.view addSubview:_tableView];

2、实现其必须实现的代理方法

#pragma mark - Table view data source

//组数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

//cell的个数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return 10;
}

3、创建cell

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   static NSString *CellIdentifier = @"Cell";
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    // Configure the cell...
        if (nil == cell) {
         cell = [[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    cell.textLable.text = @"hello,你好";

    UIButton *button = [ UIButton buttonWithType:UIButtonTypeCustom ];
            CGRect frame = CGRectMake( 0.0 , 0.0 , 30 , 24 );
            button.frame = frame;
  //        [button setImage:image forState:UIControlStateNormal ];    //可以给button设置图片
  //         button.backgroundColor = [UIColor clearColor ];
            [button addTarget:self action:@selector(accessoryButtonTappedAction:) forControlEvents:UIControlEventTouchUpInside];

    //将该button赋给cell属性accessoryView
            cell. accessoryView = button;
  }

  return cell;
}

//实现button的点击事件
- (void)accessoryButtonTappedAction:(id)sender
{
    UIButton *button = (UIButton *)sender;
    UITableViewCell  *cell;
    if (iOS7) {
        cell = (UITableViewCell *)button.superview.superview;
    }
      else
    {
        cell = (UITableViewCell *)button.superview;
    }
    int row = [_tableView indexPathForCell:cell].row;  //row为该button所在的序号
}

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 26,568评论 30 472
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 8,535评论 3 38
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,039评论 0 1
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,210评论 1 8
  • 昨夜的风,呼呼叫。昨夜的雪,悠悠飘。 我问,风雪过后会是什么样?你说,风雪过后便是大晴天。 我希望,雪能再大点再厚...
    简宁思静阅读 282评论 0 0
  • 头痛、纠结、无所适从。
    四喜蜗牛阅读 123评论 0 0
  • 夏已老,娇火催林熟。 夜伴闲往阳澄湖,千声蝉鸣骤如雨。 半时后,柳醒还风动。 休对残月思残生,闲吟自语白头吟 来饮...
    古风长歌阅读 180评论 0 2
  • 作者:吉祥果 发布时间:2014-04-04文章来源:网站原创投稿(亲历) 同修们好: 弟子是在家居士,去年阴历2...
    醉清风_01阅读 15,070评论 0 1
  • 5月17日,是国际不再恐同日。 然而对我而言,今天,除了在票圈转发几条平权的文章以外,更重要的,是高数...
    TomHai阅读 105评论 0 0