Как использовать Quartz 2D для добавления тени в UIImage или UIImageView? - PullRequest
6 голосов
/ 12 мая 2011

Как использовать Quartz 2D для добавления тени к UIImage или UIImageView?

Есть ли примеры кода?

Ответы [ 2 ]

24 голосов
/ 12 мая 2011
imageView.layer.shadowColor = [UIColor blackColor].CGColor;
imageView.layer.shadowOffset = CGSizeMake(0, 1);
imageView.layer.shadowOpacity = 1;
imageView.layer.shadowRadius = 1.0;

Не забудьте #import <QuartzCore/QuartzCore.h> в вашей реализации.

EDIT:

Добавление в @ комментарий Люка:

Просто небольшая ошибка, которая может спасти некоторых других людей, убедитесь, что у вас не установлено для layer.masksToBounds на YES, иначе тень не появится .

1 голос
/ 27 сентября 2013
+ (void)addShadowToView:(UIView*)view Color:(UIColor*)color ShadowOffset:(CGSize)offset Radius:(float)radius Opacity:(float)opacity
{
    view.layer.shadowColor = [color CGColor];
    view.layer.shadowOffset = offset;
    view.layer.shadowRadius = radius;
    view.layer.shadowOpacity = opacity;
}

Использование:

[calssName addShadowToView:self.navigationController.navigationBar Color:[UIColor blackColor] ShadowOffset:CGSizeMake(1.0f, 0.5f) Radius:1.0 Opacity:0.5];
...