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?
Try this,
Below code work i have checked properly.
but Shikhar varshney can u check setShadow method call and perspectiveView is not nil.
you can use
CALayer
class , the layer can manage your visual aspects like background color, border, shadow and with it you can also manage the geometry of it content like size , transform etc .visual effect(shadowing)
and you also used it for like
self.yourView.layer.frame
(Geometry)more info https://developer.apple.com/library/ios/documentation/graphicsimaging/reference/CALayer_class/index.html
Perhaps, adding a shadow to the layer seems to work. You may want to try something like this:
You will need to playaround with these values to match your requirements. Hope this helps.
Here is my output: