我想创建一个具有透明度的UIView用户界面设计,正如我在第一张图片中提到的那样:
第一张图片:
这是我的代码:
self.view.opaque = NO;
self.activityIndicatorView3.alpha = 0;
[self.view addSubview:self.activityIndicatorView3];
[self.activityIndicatorView3 startAnimating];
self.activityIndicatorView3.alpha = 1.0;
self.view.alpha = 0.15;
使用上面的代码我得到输出如下输出图像:
此处进度条不可见。我不知道,我在代码中做错了什么。请帮我实现这个目标。谢谢!
答案 0 :(得分:0)
实际上你在View.So中添加了活动指示器,如果你减少视图的alpha值,它也会影响它的子视图。为此你可以使用
self.view.opaque = NO;
self.activityIndicatorView3.alpha = 0;
[self.view addSubview:self.activityIndicatorView3];
[self.activityIndicatorView3 startAnimating];
self.activityIndicatorView3.alpha = 1.0;
self.view.backgroundColor=[[UIColor blackColor] colorWithAlphaComponent:.6];
您可以减少视图背景颜色的alpha值。
答案 1 :(得分:0)
设置超级视图的不透明度也会影响其子视图。
最好的方法是为该效果创建一个淡化视图
self.activityIndicatorView3.alpha = 0;
[self.view addSubview:self.activityIndicatorView3];
[self.activityIndicatorView3 startAnimating];
self.activityIndicatorView3.alpha = 1.0;
// Change this self.view.alpha = 0.15; to following code
UIView *fadedView=[[UIView alloc]initWithFrame:self.view.bounds];
[fadedView setBackgroundColor:[UIColor blackColor]];
[fadedView setAlpha:0.15];
[self.view addSubview:fadedView];
[self.view sendSubviewToBack:fadedView];