Есть лучший и более простой способ сделать это. UIImageView наследует от UIView, поэтому он имеет свойство layer. Вы можете получить доступ к свойствам слоя и тени, у вас есть тень.
Если у вас есть UIImageView в качестве IBOutlet для nib-файла, вы можете просто реализовать awakeFromNib
например,
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;
}
Не забудьте #import "QuartzCore/CALayer.h"
Для Swift вы можете сделать это несколькими способами. Создайте расширение класса, подкласс или экземпляр imageView. Как бы то ни было, процесс одинаков при изменении свойства shadows.
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
}