2 lantianyiming lantianyiming 于 2013.07.08 11:23 提问

选中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;
}

应该怎么办?

1个回答

zhanglei5415
zhanglei5415   Rxr 2013.07.08 14:07

尝试在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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!