问题描述
- 选中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; }
应该怎么办?
解决方案
尝试在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
时间: 2024-09-30 07:24:54