将UIView backgroundColor设置为透明的更好方法是什么?

时间:2012-02-14 02:01:09

标签: ios cocoa-touch

我知道您可以将UIView的backgroundColor设置为透明,如下所示:

UILabel *aLabel = [[UILabel alloc] init];
aLabel.backgroundColor = [UIColor clearColor];

但根据一些文章说,[UIColor clearColor]表现不佳,那么,将UIView的backgroundColor设置为透明的更好方法是什么?

3 个答案:

答案 0 :(得分:12)

原因 [UIColor clearColor]很慢是因为它是透明的。你做的任何事情都要求系统计算图层混合比慢不透明要慢。如果您需要透明,请使用[UIColor clearColor]。如果你可以避免透明,那就避免它。

答案 1 :(得分:0)

有时您可以在视图的drawRect方法中使用NSString的drawAtPoint方法,而不是UILabel。

NSString *text = @"hello world";
[text drawAtPoint:CGPointMake(10, 10) forWidth:165 withFont:[UIFont boldSystemFontOfSize:16] lineBreakMode:UILineBreakModeTailTruncation];

答案 2 :(得分:-1)

您可以将背景设置为alpha值为0.0的任何颜色。