2010-05-26 81 views
1

在我的应用程序中,我使用了UITableViewController(“分组样式”) ,在其中的一个部分中,我希望用户能够看到他选择的内容通过使这种细胞变色和其他“无色”。UITableView - 颜色表中的selectede单元格(保持着色)

通过更新所有小区否则它的背景颜色和重装表数据,每次用户触摸的小区(在didSelectRowAtIndexPath方法:)

问题是,有在didSelectRowAtIndexPath方法做了一些处理:使颜色没有按”不会因为某种原因而改变方向,而是会在触摸后稍微延迟一段时间。 (我的处理是微小的延迟resone)

有没有更好的方式做到这一点?

任何帮助将不胜感激 Liron

附:我是新手......

回答

1

为了做到这一点,你需要重写UITableViewCell的一个方法。您可以继承UITableViewCell并覆盖如下所示的方法:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { 
    [super setHighlighted:highlighted animated:animated]; 

    // Custom drawing code here 
} 

只要在表格视图单元格上触摸,就会触发它。如果您现在想在电池上有任何默认颜色,请确保执行以下操作:

cell.selectionStyle = UITableViewCellSelectionStyleNone;