【发布时间】:2017-06-26 11:52:54
【问题描述】:
我在不同的视图控制器类中有相同的方法,基本上它为视图控制器添加了模糊效果。现在我正在尝试使用其他 swift 类型来简化我的代码,但我很困惑如何实现这一点,以便添加子视图正常工作。处理这种情况的好方法是什么?扩展、协议、结构、类或其他函数?
这是一个视图控制器(这里是简化的):
import UIKit
class MyClass: UIViewController {
weak var blurEffectView : UIVisualEffectView?
.... other methods ....
func addBlurrEffect() {
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)
let blurEffectVw = UIVisualEffectView(effect: blurEffect)
blurEffectVw.frame = self.view.bounds
blurEffectVw.autoresizingMask = [.flexibleWidth, .flexibleHeight] // for supporting device rotation
self.view.addSubview(blurEffectVw)
blurEffectView = blurEffectVw
}
... other methods ....
}
我还有其他类似的视图控制器。如何将它们重构为仅在整个项目中使用 addBlurEffect() 一次?
【问题讨论】:
-
你试过扩展吗?检查这个:stackoverflow.com/questions/30953201/…
-
@DharmeshKheni 这是个好主意,我想我必须把我的问题写得更笼统一些,因为我并不是真的只在寻找这个案例的答案。一种更通用的方法,但非常感谢有帮助
-
欢迎您.. :)
-
@TheeBen 为什么是
UIVisualEffectViewweak? -
@TheeBen
MyClass与blurEffectView没有拥有关系吗?
标签: ios objective-c swift optimization