我在设置我的有图案的 UIColor
时遇到了问题。在 iOS 5 中一切正常,但在 iOS 4.3 中出现了问题。我添加了一张图片以更好地理解。我已经在谷歌上搜索了一些内容,并发现答案可能是将 opaque
属性设置为 NO
。但我已经将每个 view
、contentView
、backgroundView
和 tableViewCell
的 opaque
值设置为 NO
。
您可以看到分隔符颜色是黑色,当图案具有透明度时,它的图像中会出现该模式
我在设置我的有图案的 UIColor
时遇到了问题。在 iOS 5 中一切正常,但在 iOS 4.3 中出现了问题。我添加了一张图片以更好地理解。我已经在谷歌上搜索了一些内容,并发现答案可能是将 opaque
属性设置为 NO
。但我已经将每个 view
、contentView
、backgroundView
和 tableViewCell
的 opaque
值设置为 NO
。
您可以看到分隔符颜色是黑色,当图案具有透明度时,它的图像中会出现该模式
这似乎是 iOS 4.3 中的一个 bug,在 5.0 中已经修复。
为了使其在 4.3 上运行,您需要在将视图的 backgroundColor 设置为模式图像后,将视图和层都设置为非不透明,如下所示:
UIImage* pattern = [UIImage imageNamed:@"translucentPatternImage.png"];
view.backgroundColor = [UIColor colorWithPatternImage:pattern];
[view.layer setOpaque:NO];
view.opaque = NO;