2016-06-09 19 views

Antwort

9

Sie haben soeben die tintColor der zugrunde liegenden Ansicht ändern könnte jedoch aufgrund eines bekannten Fehler eingeführt in iOS 9 (https://openradar.appspot.com/22209332) wird die tintColor tintColor durch das Anwendungsfenster des überschrieben.

Sie können entweder:

  1. Ändern Sie die App tintColor im AppDelegate.

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { 
        self.window.tintColor = UIColor.redColor() 
        return true 
    } 
    
  2. die Farbe in dem Abschluss-Block erneut anwenden.

    self.presentViewController(alert, animated: true, completion: {() -> Void in 
        alert.view.tintColor = UIColor.redColor() 
    }) 
    
+0

Danke! Funktioniert ganz nett. – Beginner

+0

Ja, funktioniert super! – Bill

+2

alertController.view.tintColor = [UIColor yellowColor]; Funktioniert ganz gut für mich – Jargen89

2

Ändern Sie einfach die TintColor der zugrunde liegenden Ansicht.

[alertController.view setTintColor:[UIColor yellowColor]]; 
+0

Das ist eigentlich machbar – Jargen89

3

In Swift, könnten Sie so etwas tun:

let alert = UIAlertController(title: "Alert", message: "This is an alert.", preferredStyle: .Alert) 
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) 
alert.view.tintColor = UIColor.redColor() 
self.presentViewController(alert, animated: true, completion: nil) 
+0

Wie @guidev sagte, gibt es einen Fehler, der verhindert, dass Alert-Controller die 'tintColor', die Sie für sie festlegen, einhalten. – NRitH

+0

Sieht aus wie dieser Fehler wurde möglicherweise behoben. Ich habe gerade in Xcode 9.2 (9C40b) - iOS 11 getestet und es scheint jetzt gut zu funktionieren. –

2

In Swift 4 und Xcode 9,2

let alertView = UIAlertController(title: "", message: "", preferredStyle: .alert) 

alertView.addAction(UIAlertAction(title: "CONFIRM", style: .default, handler: { (alertAction) -> Void in 
       //my logic 
      })) 

alertView.addAction(UIAlertAction(title: "CANCEL", style: .default, handler: nil)) 


alertView.view.tintColor = UIColor.init(red: 45.0/255.0, green: 187.0/255.0, blue: 135.0/255.0, alpha: 1.0) 

present(alertView, animated: true, completion: nil) 
1

eine Zeile in Ihrem UIAllertController hinzufügen :

alert.view.tintColor = UIColor.black 
Verwandte Themen