2016-05-05 12 views
0

versucht, ein UIAlertControllerbackgroundColor zu setzen, aber das Ergebnis ist eine „ausgewaschen“ FarbeUIAlertController background verwaschen

let alert = UIAlertController(title: "some title", message: "(tap to continue)", preferredStyle: .Alert) 
      self.presentViewController(alert, animated: true, completion:{ 

       let subview = alert.view.subviews.first! as UIView 
       let alertContentView = subview.subviews.first! as UIView 
       alertContentView.backgroundColor = UIColor.yellowColor() 

von „verwaschen“ Ich meine, es ist nicht leuchtend gelb, sondern eher wie ein vergilbtes Farbe ..

Irgendwelche Ideen?

Antwort

1

Ideen? Nun, irgendwo in Apples interner Hierarchie von Ebenen und Ansichten ist etwas halbtransparent. Sie könnten herausfinden, was es ist, aber Sie betreten hier gefährlichen Boden. Die Apple-Dokumentation gibt ausdrücklich an

Sie können das Erscheinungsbild von Warnungsansichten nicht anpassen.

Also, auch wenn Sie dies lösen, funktioniert es möglicherweise nicht auf allen iOS-Versionen oder allen Geräten. Wenn Sie die Darstellung anpassen müssen, verwenden Sie keine Warnmeldungsansichten. Erstelle stattdessen deine eigene Modal View.

+0

Meinst du, dass der obige Code von Apple abgelehnt wird? –

+0

Nicht abgelehnt; nur nicht der richtige Ansatz, um die Konsistenz zwischen allen Geräten und Betriebssystemversionen zu gewährleisten, auf denen der Code ausgeführt werden könnte. – Curmudgeonlybumbly