2014-12-07 10 views
8

ich diesen Code bin mit einem Unschärfe-Effekt in meiner Ansicht zu erstellen:zwicken Intensität der Unschärfe-Effekt innerhalb UIVisualEffectView in Swift

let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) 
blur.frame = CGRectMake(180, 10, 200, 750) 
myView.addSubview(blur) 

ist es eine Möglichkeit, die Gaußsche Funktion Herstellung der Unschärfe, um zu zwicken zu erreichen unterschiedliche Ebene von "unscharf" -Effekt?

Antwort

1

Da es in UIBlurEffect kein anderer Parameter ist, glaube ich, der einzige Weg, um die CIFilter voreingestellt zu verwenden ist CIGaussianBlur den Hintergrund Blick zu verwischen und nutzen ihre Schlüssel inputRadius um den Pegel einzustellen.
Wenn Sie den gleichen Effekt erzielen möchten, wie so light/dark/ExtraLight genannt, können Sie diesen Filter mit anderen Filtern zusammenstellen.

1

Der Radius der tatsächlichen UIBlurEffect nicht ändern können, aber es gibt eine Abhilfe.

Durch die Änderung der alpha Komponente der UIVisualEffectView wird ein subtiler Unschärfeeffekt erzielt.

let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) 
blur.frame = CGRectMake(180, 10, 200, 750) 
blur.alpha = 0.4 
myView.addSubview(blur) 

Swift 3

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight) 
let blurEffectView = UIVisualEffectView(effect: blurEffect) 
blurEffectView.alpha = 0.4 
blurEffectView.frame = self.bounds 
self.addSubview(blurEffectView)