gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:32:15 25 4
gpt4 key购买 nike

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

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

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

我有一个容器 UIView其中包含两个 subview

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

^这里 自我 是包含上述两个 subview 的自定义 UIView

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

更新

所以,我不需要边框颜色,所以当我看到解决方案时我没有添加,但是这次我添加了,使用下面评论中的解决方案,看起来 UIView 正在变得圆润,但我真的希望组合的 UIImageView 和 UIView 得到四舍五入。

所以基本上,UIImageView 在顶部,UIView 在底部。

那么如何只让 UIImageView 的顶部被四舍五入,而只有 UIView 的底部被四舍五入。

谢谢。

注意:阴影作为一个整体工作,但圆角半径不是作为一个整体工作?

最佳答案

我想到了。

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 的阴影。
  • 我创建了一个容器 subview ,其中包含另外两个 subview
  • 我设置了容器 subview 的圆角半径
  • 瞧!有用!
  • 我希望这适用于在一个 UIView 中有多个 subview 的其他人
  • 我要感谢大家的帮助。 :)
  • 关于iOS6 向具有角半径的容器 UIView 添加阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16800705/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com