开发者社区 问答 正文

关于选中cell内容发生变化问题

创建了自定义cell并且添加了UIButton。点击按钮时按钮的图片会变化。

-(IBAction)btnInfoPressed:(id)sender
{
    [btnInfo setSelected:YES];
}

上面的方法放在自定义cell类中。有时向下滚动几个cell后,有一些没点击的按钮的图片也发生变化。实际上我并没有选它。

这个cellforrowatindexpath方法:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CustomCell";
CustomCell *c = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (c == nil)
{
    c = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] objectAtIndex:0];
}
c.selectionStyle = UITableViewCellSelectionStyleNone;
return c;
}

应该怎么办?

展开
收起
爵霸 2016-03-19 09:21:52 1982 分享 版权
1 条回答
写回答
取消 提交回答
  • 尝试在CustomCell中再自定义一个属性来保存按钮是否被选中的状态

    @interface CustomCell:UITableViewCell
    @property (nonatomic) BOOL isSelected;
    @end
    
    @implementation CustomCell
    
    -(void)layoutSubviews {
         if (_isSelected) {
              [yourbutton setSelected:YES];
         }
    }
    
    -(void)setIsSelected:(BOOL)isSelected {
        _isSelected=isSelected;
        [self setNeedslayout];
    }
    
    
    @end
    2019-07-17 19:07:12
    赞同 展开评论
问答地址: