我有一個自定義的UITableViewCell基於它是在哪一行而改變顏色:如何防止自定義UITableViewCells在取消選擇時閃爍白色?
TableViewController.m
- (void)willDisplayCell:(GSRSongCell *)cell atIndexPath:(NSIndexPath *)indexPath;
{
if (indexPath.row % 2 == 0) {
[cell lighten];
} else {
[cell darken];
}
}
CustomTableViewCell.m
- (void)lighten
{
self.selectedBackgroundView.backgroundColor = [UIColor whiteColor];
self.contentView.backgroundColor = [UIColor whiteColor];
self.primaryLabel.backgroundColor = [UIColor whiteColor];
self.secondaryLabel.backgroundColor = [UIColor whiteColor];
}
- (void)darken
{
UIColor *darkColor = [UIColor colorWithR:241 G:241 B:241 A:1];
self.selectedBackgroundView.backgroundColor = darkColor;
self.contentView.backgroundColor = darkColor;
self.primaryLabel.backgroundColor = darkColor;
self.secondaryLabel.backgroundColor = darkColor;
}
然而,當我打電話deselectRowAtIndexPath:animated:YES
,動畫消失的在selectedBackgroundColor
應該更暗的單元格中的白色。
然後我意識到取消動畫與selectedBackgroundColor
無關;事實上,取消動畫實際上是基於tableView.backgroundColor
屬性!
如何覆蓋取消動畫以淡入我的單元格的背景顏色?
我也嘗試將tableView.backgroundColor設置爲[UIColor clearColor] - 這不起作用。 – oliland