在UIImageView后面创建阴影的最佳方法是什么 [英] What is the best way to create a shadow behind a UIImageView

查看:65
本文介绍了在UIImageView后面创建阴影的最佳方法是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个UIImageView,我想在后面添加一个阴影。我希望苹果将其作为一种财产,但他们必须为我们的程序员做很多事情,所以我需要问这个问题。

I have a UIImageView that I want to add a shadow behind. I wish that apple had that as a property but they have to make lots of things hard for us programmers so I need to ask this question.

推荐答案

有一种更好,更简单的方法。 UIImageView继承自UIView,因此它具有图层属性。你可以访问图层的阴影属性和bam,你有一个阴影。

There's a better and easier way to do this. UIImageView inherits from UIView so it has a layer property. You can access the layer's shadow properties and bam, you got a shadow.

如果你把UIImageView作为nib文件的IBOutlet,你可以实现awakeFromNib
例如

If you have the UIImageView as an IBOutlet to a nib file, you can just implement the awakeFromNib e.g.

Objective-C

- (void)awakeFromNib {
    imageView.layer.shadowColor = [UIColor purpleColor].CGColor;
    imageView.layer.shadowOffset = CGSizeMake(0, 1);
    imageView.layer.shadowOpacity = 1;
    imageView.layer.shadowRadius = 1.0;
    imageView.clipsToBounds = NO;
}

不要忘记 #importQuartzCore / CALayer.h

对于Swift,你可以采取多种方式。创建类扩展,子类或imageView实例。无论哪种方式,修改图层阴影属性的过程都相同。

For Swift, you can go about it multiple ways. Create a class extension, subclass, or an imageView instance. Whichever the way, the process is the same in modifying the layers shadow property.

Swift 3

override func awakeFromNib() {
    super.awakeFromNib()

    imageView.layer.shadowColor = UIColor.purple.cgColor
    imageView.layer.shadowOffset = CGSize(width: 0, height: 1)
    imageView.layer.shadowOpacity = 1
    imageView.layer.shadowRadius = 1.0
    imageView.clipsToBounds = false
}

这篇关于在UIImageView后面创建阴影的最佳方法是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆