Swift Cómo cambiar el color del título de UIAlertController

¿Cómo cambio la fuente de título del UIAlertController usando Swift?

No estoy hablando del color del post, no estoy hablando del color de los botones.

Estoy hablando del título.

let attributedString = NSAttributedString(string: "Title", attributes: [ NSFontAttributeName : UIFont.systemFontOfSize(15), //your font here NSForegroundColorAttributeName : UIColor.networkingColor() ]) let alert = UIAlertController(title: "", message: "", prefernetworkingStyle: .Alert) alert.setValue(attributedString, forKey: "attributedTitle") let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (action: UIAlertAction!) -> Void in } presentViewController(alert, animated: true, completion: nil) 

Agregué la línea correcta de código a mi respuesta, ya que es mucho más concisa que la respuesta a continuación.

Lo que push25 dijo es correcto, solo debes usar la encoding de valor key para establecer la cadena atribuida. (Gracias dupuis2387 )

  //Define a color let color = UIColor.networkingColor() //Make a controller let alertVC = UIAlertController(title: "Dont care what goes here, since we're about to change below", message: "", prefernetworkingStyle: UIAlertControllerStyle.Alert) //Title String var hogan = NSMutableAttributedString(string: "Presenting the great... Hulk Hogan!") //Make the attributes, like size and color hogan.addAttribute(NSFontAttributeName, value: UIFont.systemFontOfSize(40.0), range: NSMakeRange(24, 11)) hogan.addAttribute(NSForegroundColorAttributeName, value: color, range: NSMakeRange(0, NSString(string: hogan.string).length)) //Set the new title //Use "attributedMessage" for the message alertVC.setValue(hogan, forKey: "attributedTitle") //This will change the button color alertVC.view.tintColor = UIColor.orangeColor() //Make the button let button:UIAlertAction = UIAlertAction(title: "Label text", style: UIAlertActionStyle.Default, handler: { (e:UIAlertAction!) -> Void in println("\(e)") }) //You can add images to the button let accessoryImage:UIImage = UIImage(named: "someImage")! button.setValue(accessoryImage, forKey:"image") //Add the button to the alert alertVC.addAction(button) //Finally present it self.presentViewController(alertVC, animated: true, completion: nil) 
 Alert(self, Title: “Hello”, TitleColor: UIColor.whiteColor(), Message: “World”, MessageColor: UIColor.whiteColor(), BackgroundColor: UIColor.blackColor(), BorderColor: UIColor.yellowColor(), ButtonColor: UIColor.yellowColor()) func Alert(View: ViewController, Title: String, TitleColor: UIColor, Message: String, MessageColor: UIColor, BackgroundColor: UIColor, BorderColor: UIColor, ButtonColor: UIColor) { let TitleString = NSAttributedString(string: Title, attributes: [NSFontAttributeName : UIFont.systemFontOfSize(15), NSForegroundColorAttributeName : TitleColor]) let MessageString = NSAttributedString(string: Message, attributes: [NSFontAttributeName : UIFont.systemFontOfSize(15), NSForegroundColorAttributeName : MessageColor]) let alertController = UIAlertController(title: Title, message: Message, prefernetworkingStyle: .Alert) alertController.setValue(TitleString, forKey: "attributedTitle") alertController.setValue(MessageString, forKey: "attributedMessage") let okAction = UIAlertAction(title: "OK", style: .Default) { (action) in } let cancelAction = UIAlertAction(title: "Cancel", style: .Default, handler: nil) alertController.addAction(okAction) alertController.addAction(cancelAction) let subview = alertController.view.subviews.first! as UIView let alertContentView = subview.subviews.first! as UIView alertContentView.backgroundColor = BackgroundColor alertContentView.layer.cornerRadius = 10 alertContentView.alpha = 1 alertContentView.layer.borderWidth = 1 alertContentView.layer.borderColor = BorderColor.CGColor //alertContentView.tintColor = UIColor.whiteColor() alertController.view.tintColor = ButtonColor View.presentViewController(alertController, animated: true) { // ... } } 

También puede agregar una UIAlertAction con el título "" (espacio) y agregar una UILabel personalizada a UIAlertController.view en el lugar del título.