Как я уже писал в своем комментарии выше, UIAlertView
устарел, поэтому вместо этого вам придется использовать UIAlertController
. Вы можете указать , присваивая строки для сообщения, используя (небезопасное) кодирование с ключом (поскольку UIAlertView
является подклассом NSObject
): установка атрибутной строки для ключа "attributedMessage"
. Соответствующий ключ для заголовка - "attributedTitle"
.
Обратите внимание, что эти функции, кажется, насколько я могу найти --- недокументированные Apple, на которые ссылаются только как полученные пользователями через runtime introspection.
В качестве примера следует ниже:
import UIKit
class ViewController: UIViewController {
// ...
@IBAction func showAlert(sender: UIButton) {
let alertController = UIAlertController(title: "Foo", message: "", preferredStyle: UIAlertControllerStyle.Alert)
/* attributed string for alertController message */
let attributedString = NSMutableAttributedString(string: "Bar Bar Bar!")
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(),
range: NSRange(location:0,length:3))
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.greenColor(),
range: NSRange(location:4,length:3))
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blueColor(),
range: NSRange(location:8,length:3))
alertController.setValue(attributedString, forKey: "attributedMessage")
/* action: OK */
alertController.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil))
self.presentViewController(alertController, animated: true, completion: nil)
}
}
Получение следующий результат:
Обратите внимание, что 'UIAlertView' является устаревшим в iOS9 (я принимаю' UNAlertView' выше опечатка). Вместо этого вы должны использовать 'UIAlertController'. – dfri
@LeoDabus Фактически он приписал свойства текста, '" attribitedTitle "и' "attribittedMessage" для заголовка и текста сообщения, соответственно. Однако, насколько я могу найти, они не документированы Apple; Я могу найти их только в качестве ссылок, полученных пользователями через [intestpection времени выполнения] (https://github.com/nst/iOS-Runtime-Headers/blob/master/Frameworks/UIKit.framework/UIAlertController.h). – dfri
Имеет ли UIAlertAction также атрибут «attribitedTitle»? – zeeple