ios - 我怎样才能在我的 UIImageView 上实现这种效果(圆角、内发光)?

标签 ios uiimageview afnetworking effects

enter image description here enter image description here

我有一个深色背景,所以我非常喜欢第一张图片的斜角效果。

我正在尝试在我的 UIImageViews 上重新创建这些效果,这些效果经过优化以在 UITableViewCells 中用于可变大小的图像,但我想不出一种完美的方法.

我还使用 AFNetworking 异步加载单元格中的图像,使用打包的 UIImageView+AFNetworking 类别,所以我像这样将图像加载到单元格中:

NSURL *originalURL = [NSURL URLWithString:@"url"];
[[cell _image] setImageWithURL:originalURL];

_image 只是我自定义表格单元格中的常规 UIImageView

所以我的问题基本上是,你会怎么做?

最佳答案

利用 QuartzCore 框架中的 CALayers

创建一个黑色背景和圆角的新图层。然后我们将图像作为子层添加到它。

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:@"myImage.png"].CGImage;
imageLayer.masksToBounds = YES;
[sublayer addSublayer:imageLayer];

要提供发光效果,请使用此代码。

CABasicAnimation* animation1 = [CABasicAnimation animationWithKeyPath:@"opacity"];
[animation1 setDuration:1.0];
[animation1 setRepeatCount:INT_MAX];
[animation1 setFromValue:[NSNumber numberWithFloat:0.0]];
[animation1 setToValue:[NSNumber numberWithFloat:1.0]];
[subLayer addAnimation:animation1 forKey:nil];

关于ios - 我怎样才能在我的 UIImageView 上实现这种效果(圆角、内发光)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14975237/

相关文章:

iphone - AFNetworking AFMultipartFormData如何设置key

ios - UITableViewCell 内的 UIImageViews 不会被选中

App Delegate 中的 iOS 6 Objective-C 后启动画面

ios - 添加 AFNetworking 后 APPLE MACH-O LINKED ERROR

ios - Objective-C 中的渐进式下载和视频播放

iOS : Create a simple audio waveform animation

ios - NSDate 'isEqualToString' 崩溃?

ios - SKSpriteNode 上不连续纹理的物理体路径

ios - 无法为条形按钮项目设置图像

objective-c - 有没有办法将方法作为 block 传递?