【发布时间】:2018-09-09 19:40:29
【问题描述】:
我有一个 UIButton,我给它一个模糊和变暗的背景。但是,当我突出显示它时(按下它但不释放按钮),它会因添加似乎不透明的图层而失去透明度。
这是它的视频;问题在几秒钟后开始:https://imgur.com/a/B9w52nZ
我的自定义按钮类如下所示:
override func layoutSubviews() {
super.layoutSubviews()
let blur = UIVisualEffectView(effect: UIBlurEffect(style: .regular))
blur.frame = self.bounds
blur.isUserInteractionEnabled = false
self.insertSubview(blur, at: 0)
}
使用:Swift 4、iOS 12 测试版构建
这里有什么问题以及解决它的最佳方法是什么?
【问题讨论】:
-
请阅读minimal reproducible example 然后edit 你的问题显示了演示问题的最小代码 - 一个工作示例,删除对我们看不到的代码的引用,或不影响手头问题的代码。
-
您的按钮是在代码中还是在故事板中创建的?
-
它在故事板中。问题在于使用 layoutSubviews(),因为它在按钮的生命周期内被多次调用。下面的答案反映了这一点。
标签: ios swift uibutton uiblureffect