我有一个UIViewController
自定义背景颜色。最重要的是,UITableView
与UITableViewCells
是半透明的(白色,不透明度为0.5)。透明UITableViewCell动画时闪烁背景
我被指责的问题以及我将头撞到墙上的问题是在iOS 7中,当你有一个带有半透明背景的UITableViewCell
并且你尝试删除/插入/移动行时依靠动画效果)整个UITableView
与其单元格闪烁只需0.1秒,并将单元格背景设置为更透明。这非常烦人。
设置的self.view
与背景颜色我做的唯一的事情:
self.view.backgroundColor = [UIColor colorWithRed:0.4 green:0.5 blue:0.7 alpha:1];
,并设置细胞与背景色:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
}
这里有一个GIF图片,展示您的问题:
他重新的超简单的项目:https://github.com/socksz/TransparentCellFlashing
请帮我解决这个荒谬的问题! :P
什么是你的UITableView的背景颜色?如果您已经设置了一个,请尝试在xib/storyboard中将其设置为“清除”(或您选择的任何颜色)。通常在iOS7中,它被设置为“默认”,这是造成这些问题的主要原因。 –
看来没关系。我试图将'self.view'(这是表视图)的背景颜色设置为'[UIColor clearColor]',并试图将表视图嵌入到'UIView'中(视图控制器的主视图),并设置该视图的背景颜色清除。不起作用。 –
哦,好的。然后你可能需要通过继承你的UITableViewCell的setSelected()属性来覆盖它。或者至少使用backgroundView属性而不是backgroundColor。 –