注册 登录
主题 : tableviewcell中button复用问题
级别: 新手上路
UID: 423613
精华: 0
发帖: 7
可可豆: 25 CB
威望: 25 点
在线时间: 52(时)
注册时间: 2014-12-31
最后登录: 2018-08-07
0 楼:  发表于: 2014-12-31 10:28    发自: Web Page
来源于 一般提问 分类

tableviewcell中button复用问题   

_cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if(!_cell)
    {
        _cell = [[[NSBundle mainBundle] loadNibNamed:@"QFTeamCell" owner:self options:nil] lastObject];
        _btn = [[[NSBundle mainBundle] loadNibNamed:@"QFStarBtn" owner:nil options:nil] lastObject];
        _btn.frame = CGRectMake(684-50, 0, 50, 50);
        [_btn addTarget: self action:@selector(xxxxxxxx:) forControlEvents:UIControlEventTouchUpInside];
        [_cell.contentView addSubview:_btn];
        _btn.tag = indexPath.row;
        _btn.superview.tag = indexPath.section;
    }
    [_cell.contentView addSubview:_btn];
这样加之后,cell复用又生成新的按钮,之前点击是让button的 if(!_touch)
    {
        sen.selected = YES;
        [self.fillM addObject:m];
    }
    else
    {
        sen.selected = NO;
   }
复用之后又变回no了,
QFStarBtn *btn = [[[NSBundle mainBundle] loadNibNamed:@"QFStarBtn" owner:self options:nil] lastObject];
//    _cell.btn.tag = indexPath.row;
//    [_cell.btn addTarget:self action:@selector(xxxxxxxx:) forControlEvents:UIControlEventTouchUpInside];
//    btn.frame = CGRectMake(684-50, 0, 50, 50);
这样复用之后,有两个cell共用一个按钮!点上一个,下面复用出来的也会触发,求大神怎么破
级别: 新手上路
UID: 423613
精华: 0
发帖: 7
可可豆: 25 CB
威望: 25 点
在线时间: 52(时)
注册时间: 2014-12-31
最后登录: 2018-08-07
1 楼:  发表于: 2014-12-31 10:28    发自: Web Page

级别: 新手上路
UID: 423613
精华: 0
发帖: 7
可可豆: 25 CB
威望: 25 点
在线时间: 52(时)
注册时间: 2014-12-31
最后登录: 2018-08-07
2 楼:  发表于: 2014-12-31 10:29    发自: Web Page

级别: 侠客

状态: 连续签到 - [55天]
UID: 406282
精华: 0
发帖: 171
可可豆: 543 CB
威望: 373 点
在线时间: 624(时)
注册时间: 2014-11-25
最后登录: 2018-05-09
3 楼:  发表于: 2014-12-31 10:45    发自: Web Page
把所有btn的选中状态存到数组  创建cell的时候根据数组里对应元素的状态给btn的select 赋值
级别: 新手上路
UID: 423613
精华: 0
发帖: 7
可可豆: 25 CB
威望: 25 点
在线时间: 52(时)
注册时间: 2014-12-31
最后登录: 2018-08-07
4 楼:  发表于: 2014-12-31 17:34    发自: Web Page
回 3楼(王千) 的帖子
好办法!多谢
级别: 新手上路
UID: 489162
精华: 0
发帖: 30
可可豆: 66 CB
威望: 66 点
在线时间: 55(时)
注册时间: 2015-07-15
最后登录: 2016-05-10
5 楼:  发表于: 2015-08-28 10:08    发自: Web Page
回 3楼(王千) 的帖子
把所有btn的选中状态存到数组  创建cell的时候根据数组里对应元素的状态给btn的select 赋值,但是这具体怎么做能说下吗
级别: 侠客

状态: 连续签到 - [55天]
UID: 406282
精华: 0
发帖: 171
可可豆: 543 CB
威望: 373 点
在线时间: 624(时)
注册时间: 2014-11-25
最后登录: 2018-05-09
6 楼:  发表于: 2015-08-31 14:41    发自: Web Page
回 5楼(lujianming) 的帖子
数据源里面包含一个bool值,每一行的btn状态对应这个bool值,这样btn的状态就由数据源决定,当点击btn的时候改变那个bool值就行
级别: 骑士
状态: 连续签到 - [623天]
UID: 565125
精华: 0
发帖: 232
可可豆: 3603 CB
威望: 2410 点
在线时间: 626(时)
注册时间: 2016-05-25
最后登录: 2018-12-18
7 楼:  发表于: 2016-07-29 17:06    发自: Web Page
回 6楼(王千) 的帖子
有demo吗?急求
级别: 新手上路
UID: 543680
精华: 0
发帖: 25
可可豆: 133 CB
威望: 133 点
在线时间: 357(时)
注册时间: 2016-02-19
最后登录: 2018-10-18
8 楼:  发表于: 2016-12-20 11:35    发自: Web Page
哥们能给说详细点么在,
级别: 侠客
UID: 515555
精华: 0
发帖: 124
可可豆: 143 CB
威望: 133 点
在线时间: 103(时)
注册时间: 2015-10-20
最后登录: 2018-04-09
9 楼:  发表于: 2016-12-22 10:42    发自: Web Page
[_cell.contentView addSubview:_btn]; 这一行放在if(!cell){}里面

本站内容均为本站转发,已尽可能注明出处。因未能核实来源或转发内容图片有权利瑕疵的,请及时联系本站,本站会第一时间进行修改或删除。 QQ : 3442093904

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部