Ios 将UITableViewCell的背景色设置为图案图像

Ios 将UITableViewCell的背景色设置为图案图像,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我有以下代码将UITableViewCell的背景设置为图案图像: UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"TestPattern"]]; cell.backgroundColor = color; 这样可以工作并显示背景图案,但图案奇怪地重叠: 我认为这是因为UITableViewCell实际上是在设置标签的背景色和它包含的其他视图以及它的主视图。如何使背景色不重叠 我认为这是因为UITab

我有以下代码将
UITableViewCell
的背景设置为图案图像:

UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"TestPattern"]];
cell.backgroundColor = color;
这样可以工作并显示背景图案,但图案奇怪地重叠:

我认为这是因为
UITableViewCell
实际上是在设置标签的背景色和它包含的其他视图以及它的主视图。如何使背景色不重叠

我认为这是因为UITableViewCell实际上正在设置标签的背景色


正确,解释得很好。因此,您必须分别将标签的背景色设置为
clearColor
。这并不完全容易,因为根据iOS的版本,运行时将尝试为您重新设置它;例如,在iOS 4中,有必要在
willDisplayCell
中进行此移动,但在iOS 6中,只要在设置背景颜色后进行此操作,就可以在
cellForRow
中进行此操作。

为什么标签的背景不默认为清除颜色?这似乎更有意义。你不能从“应该”到“是”。:(请参见我在此对设置
背景色问题的完整讨论:附件视图是否也自动设置背景?