gpt4 book ai didi

iphone - 如何生成具有圆角和阴影的 ImageView ?

转载 作者:行者123 更新时间:2023-12-03 18:30:58 25 4
gpt4 key购买 nike

enter image description here

与上面完全一样吗?

我知道如何产生圆角:

imageView.layer.cornerRadius = 10;
imageView.layer.shouldRasterize = YES;
imageView.layer.masksToBounds = YES;

对于阴影,我已经尝试过

imageView.layer.shadowOffset = CGSizeMake(1, 1);
imageView.layer.shadowRadius = 5;
imageView.layer.shadowOpacity = 0.4;
imageView.layer.shadowColor = [UIColor blackColor].CGColor;
imageView.layer.shouldRasterize = YES;

但是圆角的imageView.layer.masksToBounds = YES;会杀死阴影。

另一个问题是如何产生与图像中所示完全相同的阴影?我在 Photoshop 中制作了这张图像,我使用 120 度作为光线的方向。但如果我使用上面的代码,并关闭 maskToBounds,我可以看到阴影,而且很难看。

或者我可以在 Photoshop 中生成圆角+阴影图像框架并将该框架应用于我的应用程序中的每个图像吗?我认为这会带来更好的性能。如果所有图像都在滚动中,则动态对图像进行阴影和角化将会产生糟糕的性能。

谢谢

最佳答案

试试这个:

 CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor blueColor].CGColor;
sublayer.shadowOffset = CGSizeMake(0, 3);
sublayer.shadowRadius = 5.0;
sublayer.shadowColor = [UIColor blackColor].CGColor;
sublayer.shadowOpacity = 0.8;
sublayer.frame = CGRectMake(30, 30, 128, 192);
sublayer.borderColor = [UIColor blackColor].CGColor;
sublayer.borderWidth = 2.0;
sublayer.cornerRadius = 10.0;
[self.view.layer addSublayer:sublayer];

CALayer *imageLayer = [CALayer layer];
imageLayer.frame = sublayer.bounds;
imageLayer.cornerRadius = 10.0;
imageLayer.contents = (id) [UIImage imageNamed:@"BattleMapSplashScreen.jpg"].CGImage;
imageLayer.masksToBounds = YES;
[sublayer addSublayer:imageLayer];

看看original source

关于iphone - 如何生成具有圆角和阴影的 ImageView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8067939/

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