如何在 UIImageView iOS 上设置阴影渐变图像
Posted
技术标签:
【中文标题】如何在 UIImageView iOS 上设置阴影渐变图像【英文标题】:How to set shadow gradient image on UIImageView iOS 【发布时间】:2014-07-21 12:09:57 【问题描述】:嘿,我是 iPhone 新手,我一直在尝试使用阴影渐变图像为 UIImageView
设置阴影,即使用以下代码的“Image-Shadow.png”。
imageView.layer.shadowColor = [UIColor colorWithPatternImage:[UIImage
imageNamed:@"Image-Shadow.png"]].CGColor;
imageView.layer.shadowOffset = CGSizeMake(0, 1);
imageView.layer.shadowOpacity = 1;
imageView.clipsToBounds = NO;
imageView.layer.shouldRasterize = YES;
我的问题是,我没有在我的UIImageView
中使用上面的代码。您能告诉我这是在UIImageView
中添加阴影图像的正确方法吗?还是可以通过其他方式?
【问题讨论】:
imageView.clipsToBounds = NO;将其设为“是”并尝试让我知道结果.... 感谢@Spynet 我已将其设置为 YES.. 但我的问题仍然相同。 _imageView.layer.shadowColor = [UIColor blackColor].CGColor; _imageView.layer.shadowOffset = CGSizeMake(1, -3); _imageView.layer.shadowOpacity = 1; _imageView.clipsToBounds = 是; _imageView.layer.shouldRasterize = YES; 【参考方案1】:图片有问题。我认为您不能提供图案图像来创建阴影!
给像[UIColor blackColor].CGColor
这样的正确颜色,它应该可以工作。
【讨论】:
@AdithyaThanks.. 使用 [UIColor blackColor].CGColor 它正在工作。但需要根据我的要求为阴影渐变添加图像。我不知道我的测试人员想从我这里得到什么 :) 在第一个图像视图后面添加另一个图像视图,框架稍大?向其中添加阴影图像。 你能告诉我我在模拟器上测试,而不是在我的设备上。这是我的图像视图中没有阴影渐变的原因吗? 不应该是个问题【参考方案2】:问题出在这一行:
imageView.layer.shadowOffset = CGSizeMake(0, 1);
您在哪里设置阴影,但没有给它一个可见的空间来显示它自己。 应为这两个参数赋予正值或负值。 正值将视图“向下”和“向右”拉伸,负值将视图“向左”和“向上”拉伸。
【讨论】:
你想说什么,我是否需要在我的代码中删除这个给定的 shadowOffSet 属性?【参考方案3】:根据我的要求,这是我的解决方案:
//set shadow gradient on image view
UIView *shadowView = [[UIView alloc] initWithFrame:imageView.frame]; //add view behind the image view
shadowView.layer.contents = (id) [UIImage imageNamed:@"Image-Shadow.png"].CGImage;
[imageView addSubview:shadowView];
谢谢大家。
【讨论】:
以上是关于如何在 UIImageView iOS 上设置阴影渐变图像的主要内容,如果未能解决你的问题,请参考以下文章
带有透明 UIImageView (iOS) 的页面卷曲动画
仅 UIImageView 顶部和底部的内部阴影(目标 C)