Joh*_*Doe 6 ios swift xcode6 ios8
我有以下方法(例如),我希望能够在iOS + Swift项目中的任何ViewController中使用它:
func initializeBlurEffectOnGivenUIView(UIViewToBeBlurred: UIView) {
let UIViewToBeBlurredHeight = UIViewToBeBlurred.frame.size.height
let UIViewToBeBlurredWidth = UIViewToBeBlurred.frame.size.width
let UIViewToBeBlurredX = UIViewToBeBlurred.frame.origin.x
let UIViewToBeBlurredY = UIViewToBeBlurred.frame.origin.y
let blurEffect:UIBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
let vibrancyEffect = UIVibrancyEffect(forBlurEffect: blurEffect)
let vibrancyEffectView = UIVisualEffectView(effect: vibrancyEffect)
let blurEffectView:UIVisualEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = CGRectMake(UIViewToBeBlurredX, UIViewToBeBlurredY, UIViewToBeBlurredWidth, UIViewToBeBlurredHeight)
blurEffectView.contentView.addSubview(vibrancyEffectView)
UIViewToBeBlurred.addSubview(blurEffectView)
}
Run Code Online (Sandbox Code Playgroud)
我有更常见的助手,比如那里我也想提供.如何构建应用程序来实现此目的?
mat*_*att 18
如果函数是自由全局函数,则将函数放在任何文件的顶层.(只是不要不小心重复自己,并在所有文件的顶层放置相同的功能.)例如,这就是我用delay我在这里描述的效用函数做的事情:dispatch_after - swift中的GCD?
但是,在您给出的示例的特定情况下,我可能会将其放在UIView的扩展中.我将其重写为实例方法,因此我们不是模糊另一个视图,而是从现有视图和模糊开始self.
使用扩展名,如下所示:
extension UIView {
func initializeBlurEffect() {
let height = self.frame.size.height
let width = self.frame.size.width
let x = self.frame.origin.x
let y = self.frame.origin.y
let blurEffect:UIBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
let vibrancyEffect = UIVibrancyEffect(forBlurEffect: blurEffect)
let vibrancyEffectView = UIVisualEffectView(effect: vibrancyEffect)
let blurEffectView:UIVisualEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = CGRectMake(x, y, width, height)
blurEffectView.contentView.addSubview(vibrancyEffectView)
self.addSubview(blurEffectView)
}
}
Run Code Online (Sandbox Code Playgroud)
然后像这样称呼它:
myview.initializeBlurEffect()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5042 次 |
| 最近记录: |