ric*_*350 4 cocoa-touch objective-c shadow uibutton ios
我有一组UIButton带有背景颜色的 s 。当用户点击一个按钮时,我只希望按钮的文本周围有阴影(以表明它已被选择)。但是,当我添加阴影时,阴影出现在整个按钮(背景和所有)上,而不仅仅是文本上。除了在UILabel空白按钮上添加一个按钮之外,是否有更简单的解决方法?
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
...
[button setBackgroundColor:[UIColor blueColor]];
[button.layer setShadowRadius:8.0];
[button.layer setShadowColor:[[UIColor orangeColor] CGColor]];
[button.layer setShadowOpacity:0];
...
Run Code Online (Sandbox Code Playgroud)
小智 5
以下是使用 Objective-C 中可用的阴影半径属性向按钮标题添加阴影的简单方法:
#import <QuartzCore/QuartzCore.h>
button.titleLabel.layer.shadowOffset = CGSizeMake(2.0, 2.0);
button.titleLabel.layer.shadowColor = [UIColor colorWithWhite:0.1 alpha:0.7].CGColor;
button.titleLabel.layer.shadowRadius = 2.0;
button.titleLabel.layer.shadowOpacity = 1.0;
button.titleLabel.layer.masksToBounds = NO;
Run Code Online (Sandbox Code Playgroud)
斯威夫特..
假设你重写了UIButton类..
titleLabel!.layer.shadowColor = UIColor.black.cgColor
titleLabel!.layer.shadowOffset = CGSize(width: -0.5, height: 0.5)
titleLabel!.layer.shadowOpacity = 1.0
titleLabel!.layer.shadowRadius = 0
titleLabel!.layer.masksToBounds = false
Run Code Online (Sandbox Code Playgroud)