【问题标题】:Swift button shadows快速按钮阴影
【发布时间】:2020-10-05 04:04:42
【问题描述】:

我有两个简单的按钮,两个都有阴影,并且都对这些阴影使用相同的参数。是否可以将这些参数合并在一起?感觉这样控制它们会简单得多……

这些是按钮:

@IBOutlet weak var locationButton: UIButton!
@IBOutlet weak var infoButton: UIButton!

这是阴影的代码:

    locationButton.layer.shadowColor = UIColor.black.cgColor
    locationButton.layer.shadowOffset = CGSize(width: -1, height: 2)
    locationButton.layer.shadowRadius = 1.8
    locationButton.layer.shadowOpacity = 0.3

    infoButton.layer.shadowColor = UIColor.black.cgColor
    infoButton.layer.shadowOffset = CGSize(width: -1, height: 2)
    infoButton.layer.shadowRadius = 1.8
    infoButton.layer.shadowOpacity = 0.3

再一次,代码运行没有任何问题,我只想减少同时控制两个层的行数。 谢谢!

【问题讨论】:

    标签: swift xcode button layer shadow


    【解决方案1】:

    添加扩展

    extension UIView {
      func addShadow() {
        self.layer.shadowColor = UIColor.black.cgColor
        self.layer.shadowOffset = CGSize(width: -1, height: 2)
        self.layer.shadowRadius = 1.8
        self.layer.shadowOpacity = 0.3
      }
    }
    

    然后调用它

    locationButton.addShadow()
    

    你也可以创建一个UIButton子类

    【讨论】:

    • 哦,很简单,谢谢!我想随着经验的增加,这些事情会自然而然地发生,或者至少我希望如此...... :)
    猜你喜欢
    • 2016-08-17
    • 2020-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 2012-07-01
    • 2014-08-20
    • 1970-01-01
    相关资源
    最近更新 更多