【发布时间】:2016-10-22 07:08:13
【问题描述】:
【问题讨论】:
-
您可以为此使用渐变图像或 CAGradientLayer
标签: ios objective-c xcode uibutton
【问题讨论】:
标签: ios objective-c xcode uibutton
CAGradientLayer 将满足您的目的 - 参考:
http://blog.apoorvmote.com/gradient-background-uiview-ios-swift/
【讨论】:
您可以为此使用渐变图像或 CAGradientLayer
CAGradientLayer 添加到现有按钮:
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];
【讨论】:
您可以使用图像来显示阴影。使用模糊图像或更改图像视图的 alpha。
或者,如果您想以编程方式进行,请尝试:
对象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;
斯威夫特:
//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
取自http://www.innofied.com/implementing-shadow-ios/,也可以看看了解更多:UIView with rounded corners and drop shadow?
我的另一个与此相关的答案:Drop shadow in ios
【讨论】: