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

我试图添加一个1px的黑色阴影的button标签没有运气。 我试过这个: self.setTitleShadowOffset = CGSizeMake(0, -1); 但是我得到:

请求成员“setTitleShadowOffset”在某些不是结构或联盟

任何build议将是非常感谢!

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

此代码为我工作,以添加一个白色的阴影我的button的文本:

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

正确的属性是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); 

UIButtonsetTitleShadowOffset已被弃用。 使用UIButton的titleLabel属性的shadowOffset

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

在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 

在这里输入图像说明

对于Swift 3:

  button.setTitleShadowColor(UIColor.red, for: .normal) button.titleLabel?.shadowOffset = CGSize(width: 2, height: 2)