【发布时间】:2012-06-26 16:51:35
【问题描述】:
我想让图像部分出现在黑色背景后面。
现在我有一个黑色背景的UIView 和一个带有图像的UIImageView。
我可以以某种方式仅对黑色UIView 的某些部分进行 alpha,以便出现后面的图像吗?
有没有一种方法可以为视图的某些像素设置 alpha 值?
代码:
darkView = [[ShowView alloc] initWithFrame:self.view.frame];
darkView.backgroundColor = [UIColor blackColor];
darkView.alpha = 1.0;
[self.view addSubview: darkView];
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"testPic.png"]];
imageView.alpha = 1.0;
[darkView addSubview:imageView];
【问题讨论】:
-
如果你将imageView添加到darkView,无论darkview的alpha如何,imageView都会在顶部并且完全可见。您最好将子视图网格添加到 imageView 并更改它们的 alpha。
-
您可以在视图的某些部分应用蒙版,并将 alpha 更改为此蒙版
-
也许你可以使用半透明的黑色图像而不是黑色。
-
@tiguero:如何添加这样的掩码来更改 alpha 值?
-
你只需要将它应用到你的视图层的遮罩上:CALayer *mask = [CALayer layer]; mask.frame = CGRectMake(x, y, width, height); mask.backgroundColor = [[UIColor whiteColor] CGColor]; [你的视图层].mask = mask;
标签: iphone objective-c ios uiview