【问题标题】:Decrease opacity of UIView in IOS 7在 IOS 7 中降低 UIView 的不透明度
【发布时间】:2014-08-31 11:34:15
【问题描述】:

我想创建一个具有一定透明度的 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;

使用上面的代码,我得到如下输出图像:

这里的进度条是不可见的。我不知道,我在代码中做错了什么。请帮助我实现这一目标。谢谢!

【问题讨论】:

  • 去掉一行代码 self.view.alpha = 0.15;
  • 我无法删除此行,bcos 正在使用 alpha 0.5 获取视图背景透明度。谢谢!
  • 你的视图背景颜色是什么?

标签: ios iphone ios7 uiview


【解决方案1】:

实际上你在视图中添加了活动指示器。所以如果你降低视图的 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。

【讨论】:

  • @SivaprasadThanks,我试过 self.view.backgroundColor=[[UIColor blackColor] colorWithAlphaComponent:.6];之前。使用此代码,它显示全黑视图背景,但它应该是透明的。
【解决方案2】:

为父视图设置不透明度也会影响其子视图。

最好的方法是为该效果创建一个淡入淡出的视图

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];

【讨论】:

  • 谢谢,现在我可以使用您的代码看到进度条,只有背景是淡白色,需要用黑色 bg 颜色进行更改。
  • 我有两个指标图像,我正在使用第三方库“TYMActivityIndi​​catorView”。
  • 你是说褪色的视图保持不变,即白色你可以生成截图吗? ...
  • 试试 ///[self.view setBackground:]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
  • 2014-05-31
  • 2018-01-31
  • 2014-10-09
  • 1970-01-01
  • 2013-04-06
  • 1970-01-01
相关资源
最近更新 更多