UIButton阴影不画画

Adr*_*ian 0 uibutton ios swift swift3

我正在尝试创建一个方法来配置应用程序中的按钮.我的方法按预期执行,但阴影不会绘制.它没有崩溃.

UIButton extension用以下方法创建了一个:

func configureWhiteText(withBackgroundColor buttonColor: UIColor?) {
    // basic configuration
    tintColor = UIColor.white
    setTitleColor(UIColor.white, for: .normal)
    backgroundColor = buttonColor

    // layer stuff
    layer.drawsAsynchronously = true
    layer.shouldRasterize = true
    layer.cornerRadius = 10.0
    layer.masksToBounds = false
    layer.shadowColor = UIColor.black.cgColor
    layer.shadowOffset = CGSize(width: 5.0, height: 5.0)
    layer.shadowRadius = 5.0
}
Run Code Online (Sandbox Code Playgroud)

我已经在一个UITableViewControllerin viewDidLoad和'viewWillAppear`中试了一下而没有运气:

myButton.configureWhiteText(withBackgroundColor: UIColor.blue)
Run Code Online (Sandbox Code Playgroud)

按钮位于分组的静态单元格中UITableViewController.除了面向阴影的代码行之外,一切都在配置方法中工作.layer.cornerRadius按预期圆角,但没有其他方向layer的线条绘制阴影.

我已经证实了layer.masksToBounds = false.我也尝试过评论layer.drawsAsynchronouslylayer.shouldRasterize无济于事.

任何进一步的想法/建议表示赞赏.

mat*_*att 6

你遗漏了实际打开阴影的设置 - shadowOpacity.添加此行:

layer.shadowOpacity = 0.5
Run Code Online (Sandbox Code Playgroud)

Badda bing badda热潮.