以编程方式将阴影添加到UIButton标签

edh*_*hog 19 uibutton ios ios-4.2

我试图在没有运气的情况下为按钮标签添加1px黑色阴影.我试过这个:self.setTitleShadowOffset = CGSizeMake(0, -1);但我明白了:

在非结构或联合的东西中请求成员'setTitleShadowOffset'

任何建议都会非常感谢!

fsa*_*int 38

正确的属性是self.titleLabel.shadowOffset:

UIButton *b = [UIButton buttonWithType:UIButtonTypeRoundedRect];    
[b setTitleShadowColor:[UIColor purpleColor] forState:UIControlStateNormal];
b.titleLabel.shadowOffset = CGSizeMake(1.0, 1.0);
[b setTitle:@"Hello, I'm a Button" forState:UIControlStateNormal];
b.frame = CGRectMake(10.0, 10.0,300.0, 40.0);
Run Code Online (Sandbox Code Playgroud)

  • shadowColor行无法正常工作.你需要使用`setShadowColor:forState:`(你不会注意到使用这个例子的失败,因为它将阴影颜色设置为黑色,这是默认值.) (4认同)

Art*_*are 22

其他答案没有正确设置阴影颜色(我怀疑他们没有注意到,因为他们试图将阴影颜色设置为默认颜色,黑色.)

这段代码为我添加了一个白色阴影到我的按钮文本:

myButton.titleLabel.shadowOffset = CGSizeMake(0, 1);
[myButton setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

  • 有点有趣——在我发布这篇文章三年后,在提出这个问题近五年后,它终于被标记为正确答案。 (2认同)

vis*_*kh7 10

setTitleShadowOffsetUIButton已被弃用.使用shadowOffsettitle的titleLabel属性UIButton

buttonName.titleLabel.shadowOffset = CGSizeMake(0, -1);


Rap*_*uza 7

在Swift 3.0中

myButton.titleLabel?.layer.shadowRadius = 3
myButton.titleLabel?.layer.shadowColor = UIColor.black.cgColor
myButton.titleLabel?.layer.shadowOffset = CGSize(width: 0, height: 1)
myButton.titleLabel?.layer.shadowOpacity = 0.5
myButton.titleLabel?.layer.masksToBounds = false
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述