当前位置:  开发笔记 > IOS > 正文

iOS6将阴影添加到具有角半径的容器UIView

如何解决《iOS6将阴影添加到具有角半径的容器UIView》经验,为你挑选了1个好方法。

包含UIView如何同时具有阴影和圆角半径?

我曾多次尝试在SO上建议的其他解决方案,但不幸的是它们似乎不适用于iOS6(或者至少不适用于我)

所以我想我可能发布这个,以便找到iOS6解决方案.

我有一个UIView包含两个子视图的容器

- a custom UIImageView
- a custom UIView

我希望整个UIView的圆角半径为2.5,但我也希望UIView有一个阴影.然而,到目前为止,我只获得了这两个愿望中的一个,而不是两个同时.

这是我的代码,我使用SO解决方案的不同尝试有不同的版本,但这只是我的一个版本.

    self.layer.shouldRasterize = YES;
    self.layer.rasterizationScale = [UIScreen mainScreen].scale;
    self.layer.cornerRadius = 2.5;
    self.layer.masksToBounds = YES;
    self.layer.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.1].CGColor; //0.1
    self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;
    self.layer.shadowOpacity = 1.0;
    self.layer.shadowRadius = 3.0;

^这里self包含自定义UIView,上面有两个子视图

有谁知道这个问题的iOS6解决方案?


UPDATE

所以,我不需要边框颜色,所以当我看到解决方案时,我没有添加它,但这次我添加了,使用下面评论中的解决方案,似乎UIView正在变圆,但我真的想要结合使用UIImageView和UIView.

基本上,UIImageView位于顶部,UIView位于底部.

那么我如何才能使UIImageView的顶部被舍入,并且只有UIView的底部被舍入.

谢谢.

注意:阴影作为一个整体对象,但角半径不作为一个整体对象?



1> GangstaGraha..:

我想到了.

self.layer.shouldRasterize = YES;
self.layer.rasterizationScale = [UIScreen mainScreen].scale;
self.layer.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.8].CGColor;
self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:self.layer.bounds cornerRadius:self.layer.cornerRadius].CGPath;
self.layer.shadowOpacity = 1.0;
self.layer.shadowRadius = 3.0;

UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
[self addSubview:container];

[container addSubview:self.someCustomUIView];
[container addSubview:self.someCustomImageView];

container.layer.cornerRadius = 2.5;
container.layer.masksToBounds = YES;

所以基本上:

    我设置了主要UIView的阴影.

    我创建了一个容器子视图,其中包含另外两个子视图

    我设置了容器子视图的角半径

    瞧!有用!

    我希望这适用于在一个UIView中有多个子视图的其他人

    我要感谢大家的帮助.:)

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有