具有非透明子视图的iOS 8透明视图

时间:2014-12-03 09:44:48

标签: ios objective-c iphone

我想在UIImageView上放置非透明内容。所以我有一个透明背景的视图,其中包含所有内容。我已将它置于imageview之上。我已将此视图的背景颜色设置为clearColor,但仍然无法获得所需的效果。

iOS 6 SDK显然可以实现这一点,但现在我尝试使用的iOS 8 SDK并不能满足我的需求。

查看此应用的屏幕截图 enter image description here

我试图用iOS 8 SDK实现类似效果(半透明视图)。但是我需要设置不透明度非常低的值,这使得视图几乎透明。我所能达到的只是非常小的透明度(类似于alpha 0.9甚至我设置为0)。

2 个答案:

答案 0 :(得分:3)

这可以通过使用iOS 8上提供的UIVisualEffectUIVisualEffectView来实现。

如您所说,这将提供透明视图,而不会影响子视图。

试试这个

UIVisualEffectView *blurredView =[[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
[blurredView addSubview:self.mySubView];

您也可以添加子视图和图片视图。

答案 1 :(得分:1)

在订单中添加您需要的视图,类似于以下代码......

UIImageView* bottomImgView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
bottomImgView.image=[UIImage imageNamed:@"yourImg.png"];
[self.view bottomImgView];

UIView* topTransparentView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
topTransparentView.backgroundColor = [UIColor clearColor];
[bottomImgView addSubview:topTransparentView];

UIView* subView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
subView.backgroundColor = [UIColor blueColor];
[topTransparentView addSubview:subView];