首页 > 解决方案 > Swift - 如何仅在 UIButton 底部阴影上应用投影,而不是在其图像和标题标签上应用投影?

问题描述

我正在尝试向 UIButton 添加阴影,但我只想拥有 UIButton 底部阴影的阴影,而不是其图像和标题。我跟着UIButton 底部阴影,但它没有用。基本上,这就是我现在所拥有的: 在此处输入图像描述

这就是我想要的: 在此处输入图像描述

这是我当前的代码:

button.layer.borderWidth = 0.5
button.layer.borderColor = UIColor.gray.cgColor
button.layer.shadowColor = UIColor.black.cgColor
button.layer.shadowOffset = CGSize(width: 0, height: 2)
button.layer.shadowOpacity = 1.0
button.layer.shadowRadius = 0
button.layer.masksToBounds = false

请帮忙。提前致谢。

标签: iosswiftuibuttonuikit

解决方案


检查附加图像中的输出

签出下面的代码行

btn.setImage(UIImage(named: "Unknown.jpg"), for: .normal)

    btn.imageView?.layer.shadowColor = UIColor.blue.cgColor

    btn.imageView?.layer.shadowOffset = CGSize(width: 1, height: 1)

    btn.imageView?.layer.shadowOpacity = 1.0

    btn.imageView?.layer.shadowRadius = 5

    btn.imageView?.layer.masksToBounds = false

    btn.setTitle("    hello", for: .normal)

    btn.titleLabel?.layer.shadowColor = UIColor.black.cgColor

    btn.titleLabel?.layer.shadowOffset = CGSize(width: 1, height: 1)

    btn.titleLabel?.layer.shadowOpacity = 1.0

    btn.titleLabel?.layer.shadowRadius = 3

    btn.titleLabel?.layer.masksToBounds = false

    btn.backgroundColor = UIColor.red

推荐阅读