【发布时间】:2017-06-16 08:47:09
【问题描述】:
我正在处理我的视图,但在堆栈视图中的按钮周围出现阴影时遇到了问题。我所做的大部分工作都直接在故事板中。
这是我用来将阴影应用到视图的方法
func addShadow(to view: UIView) {
view.layer.shadowColor = shadowColor
view.layer.shadowOpacity = shadowOpacity
view.layer.shadowOffset = shadowOffset
if let bounds = view.subviews.first?.bounds {
view.layer.shadowPath = UIBezierPath(rect: bounds).cgPath
}
view.layer.shouldRasterize = true
}
这就是我在 ViewController.swift 的视图中找到按钮的方式
for subview in self.view.subviews {
if subview.isKind(of: UIButton.self) && subview.tag == 1 {
addShadow(to: subview)
}
}
我知道问题源于堆栈视图和包含按钮的堆栈视图内部的 UIView。 (self.view > UIStackView > UIView > [UIButton, UILabel])
我知道我可以通过 for-loop 中的递归来做到这一点,但我试图更加精确一点以优化性能,并且更愿意一次性添加阴影。
【问题讨论】:
标签: ios swift uiview uibutton uistackview