Shadow effects on ImageView in iOS

ios, objective-c, shadow, uiimageview, xcode

Solution

Perhaps, adding a shadow to the layer seems to work. You may want to try something like this:

//  perspectiveView.transform = CGAffineTransformMakeRotation(-50.0f);   
    perspectiveView.layer.shadowOffset = CGSizeMake(10, 10);
    perspectiveView.layer.shadowRadius = 5.0;
    perspectiveView.layer.shadowOpacity = 0.6;

    perspectiveView.layer.masksToBounds = NO;

You will need to playaround with these values to match your requirements. Hope this helps.

Here is my output:

Problem

I am trying to provide a shadow effect to my Imageview just like in this image. but the problem which I am facing it is that the shadow is actually visible from the bottom of the Imageview. Here is the code which I have done to add the shadow. The color and all is still not matching with this one. ``` CAGradientLayer *shadow = [CAGradientLayer layer]; shadow.frame = CGRectMake(-100, 70, perspectiveView.frame.size.width, perspectiveView.frame.size.height - 20); shadow.startPoint = CGPointMake(1.0, 0.5); shadow.endPoint = CGPointMake(0, 0.5); shadow.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithWhite:0.0 alpha:0.4f] CGColor], (id)[[UIColor clearColor] CGColor], nil]; shadow.opacity = 1.0f; [perspectiveView.layer addSublayer:shadow]; ``` Please provide inputs. Also if the approach is wrong, feel free to guide me to any other approach. Thanks in advance. Also can anyone suggest how to provide a 3D border just like in the image which provides a slight width to the image view?

Original source