微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使UITableViewCell高亮状态保持不变

如何解决如何使UITableViewCell高亮状态保持不变

| 我有一个UITableviewCell。当用户单击该单元格时,我将保存索引路径,然后调用cellforrowAtIndexpath方法获取该单元格,然后对该单元格调用SetHighlighted:TRUE。 这可以正常工作,但问题是当我上下滚动表格视图时,所选单元格重新出现时未突出显示。如何使突出显示的蓝色保持不变,以便用户即使在向上或向下滚动表格后也可以直观地看到他们的选择? 谢谢     

解决方法

保存所选单元格的索引路径
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    self.selectedIndexPath = indexPath;
}
并在
tableVIew:cellForRowAtIndexPath:
中进行比较
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    // configure cell
    if ([indexPath isEqual:self.selectedIndexPath]) {
        [cell setHighlighted:YES];
    }
    else {
        [cell setHighlighted:NO];
    }
    return cell;

}
但是,请记住,苹果不鼓励使用单元格突出显示状态来指示所选单元格。您可能应该使用
cell.accessoryType = UITableViewCellAccessoryCheckmark;
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。