IOS: UIImageView set border white radius and shadow

Viewed 1348

Here is my code for set the border, shadow and corner

// set border
[self.avatarImageView.layer setBorderColor: [[UIColor whiteColor] CGColor]];
[self.avatarImageView.layer setBorderWidth: 2.0];

// set shadow
[self.avatarImageView.layer setShadowOffset:CGSizeZero];
[self.avatarImageView.layer setShadowOpacity:1.0];
self.avatarImageView.clipsToBounds = NO;

// set corner
self.avatarImageView.layer.cornerRadius = 10.0;
self.avatarImageView.layer.masksToBounds = YES;

If I only use the code for set border and set corner, it work well like this

enter image description here

But if I add the code set corner, I will got the result like this (the border and corner radius work, but the shadow is gone)

enter image description here

However the code for set corner work perfect if it stay alone. Please guide me what to do. Any help would be appreciate

Update
Follow @ozgur answer. Add 2 lines to my code, it will give a very beautiful view but the shadow is a little bit smaller

self.avatarImageView.layer.shouldRasterize = YES;
self.avatarImageView.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:self.avatarImageView.bounds cornerRadius:10].CGPath;

enter image description here

4 Answers
Related