Das Ziel: Erstellen Sie eine Unschärfeansicht in der App.Verwenden Sie UIVisualEffectView, um eine Unschärfeansicht zu erstellen, die im Simulator aber nicht auf iphone & ipad korrigiert wird.
Der Code ich benutze:
func createBlurBackgroundView()
{
if !UIAccessibilityIsReduceTransparencyEnabled()
{
if blurredSubView == nil || blurredSubView.superview == nil
{
print("Create blurred background view")
self.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
blurredSubView = UIVisualEffectView(effect: blurEffect)
blurredSubView.frame = self.bounds
self.insertSubview(blurredSubView, atIndex: 0)
}
}
else
{
print("Transparency disabled!! no blur view")
}
}
Das Ergebnis: alles funktioniert auf dem Simulator fein:
Aber wenn ich es auf dem iPhone und ipads lief, es sieht aus wie :
BITTE BEACHTEN SIE, ICH HABE NICHT DIE "TRANSPARENZ REDUZIEREN" ÄNDERT " DIE EINSTELLUNGEN!
Wenn ich dann einen Schnappschuss von diesem schwarzen Hintergrund ohne Unschärfe machen möchte, rate mal was ?! Im Fotostream sah ich genau das richtige Unschärfebild ...
Auch wenn ich Doppelklick auf Home-Taste, und schaue auf die Multi-Task-Schnittstelle, sah ich die Unschärfe-Ansicht-Effekt!
Mehr Info: ich iphone6s verwenden, ipad air2, beide iOS 9.3.1 Xcode Version 7.3
Ich bin so müde zu versuchen, dieses Problem zu lösen, habe ich versucht, andere Methoden wie Snapshot-image nehmen und dann Unschärfe-Effekt auf das Bild anwenden, hat aber andere Bugs und andere CONs
Haben Sie überprüft, was 'UIAccessibilityIsReduceTransparencyEnabled()' zurückgibt? – Jelly
@jelly Ja, bitte überprüfen Sie meinen Code, es gibt Druckinformationen, und ich überprüfte auch die Einstellungen –
Wo rufst du 'createBlurBackgroundView()'? – Jelly