1

I need to do a colour shading in objective c. As shown in this image shade is on the button of HardService and SoftService.

Is there is any way to do this ? Thanks in Advance!

enter image description here

Jamshed Alam
  • 12,424
  • 5
  • 26
  • 49
Muju
  • 884
  • 20
  • 54

3 Answers3

2

CAGradientLayer would server your purpose - Reference:

http://blog.apoorvmote.com/gradient-background-uiview-ios-swift/

BaSha
  • 2,356
  • 3
  • 21
  • 38
1

You can use either a gradient image or CAGradientLayer for this purpose

CAGradientLayer added to an existing button:

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = button.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor] CGColor], (id)[[UIColor blackColor] CGColor], nil];
[button.layer insertSublayer:gradient atIndex:0];
alexburtnik
  • 7,661
  • 4
  • 32
  • 70
0

You can use an image for showing shadow. Use blur image or change alpha of the imageview.

Or if you want to do it programmatically, try it:

Obj c:

//create elliptical shadow for button through UIBezierPath
CGRect ovalRect = button.bounds;
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:ovalRect];

 //applying shadow to path
 button.layer.shadowColor = [UIColor yourcolor].CGColor;
 button.layer.shadowOffset = CGSizeMake(0.0, 0.0);
 button.layer.shadowOpacity = 1.0;
 button.layer.shadowRadius = 3.0;
 button.layer.shadowPath = path.CGPath;

Swift :

//create elliptical shdow forimage through UIBezierPath
var ovalRect = button.bounds
var path = UIBezierPath(ovalInRect: ovalRect)

//applying shadow to path
button.layer.shadowColor = UIColor(white: 0.0, alpha: 0.5).CGColor
 button.layer.shadowOffset = CGSizeMake(0.0, 0.0)
button.layer.shadowOpacity = 1.0
button.layer.shadowRadius = 3.0
button.layer.shadowPath = path.CGPath

Taken from http://www.innofied.com/implementing-shadow-ios/ and also have a look to know more: UIView with rounded corners and drop shadow?

My another answer related to this: Drop shadow in ios

Community
  • 1
  • 1
Jamshed Alam
  • 12,424
  • 5
  • 26
  • 49