我在UIButton
故事板场景中添加了一个透明删除,它有一张图片作为背景,并且我添加了一些自动布局约束。
我希望按钮背景是 aUIVisualEffectView
所以我正在考虑以编程方式将视图添加到按钮所在的位置,然后删除按钮并将其添加回来,使其位于UIVisualEffectView
.
问题 1)这是一个好主意 - 还是我应该在视图层次结构中找到位置并将其放置在按钮之前的一级?
这是我到目前为止所拥有的。对于UIButton
:
@IBOutlet weak var delete: UIButton! {
didSet {
let borderAlpha = CGFloat(0.7)
let cornerRadius = CGFloat(5.0)
delete.setTitle("Delete", forState: UIControlState.Normal)
delete.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
delete.backgroundColor = UIColor.clearColor()
delete.layer.borderWidth = 1.0
delete.layer.borderColor = UIColor(white: 1.0, alpha: borderAlpha).CGColor
delete.layer.cornerRadius = cornerRadius
}
}
对于UIVisualEffectView
:
override func viewDidLoad() {
super.viewDidLoad()
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light))
visualEffectView.frame = delete.frame
visualEffectView.bounds = delete.bounds
view.addSubview(visualEffectView)
}
这会产生一个模糊的视图,与按钮的大小相同,但它不在按钮的顶部。问题 2)我是否也需要以某种方式通过自动布局约束?
提前感谢您的帮助。