1:系统提供的提示框如下所示:
系统.png2: 自定制提示框如下:
自定制.png3: 所用到的方法
(1)可同时改变字体大小及颜色(第一个参数为字典,第二个为结构体)
alertTitleStr.addAttributes(<#T##attrs: [String : AnyObject]##[String : AnyObject]#>, range: <#T##NSRange#>)
(2)各自设置字体大小、颜色 (参数使用见代码如下)
alertTitleStr.addAttribute(<#T##name: String##String#>, value: <#T##AnyObject#>, range: <#T##NSRange#>)
具体代码如下:
func createMyAlert(){
let alert = UIAlertController.init(title: "点错了", message: "只能相邻的图交换", preferredStyle: .Alert)
let action = UIAlertAction.init(title: "继续", style: .Default, handler: nil)
//1.修改title的字体大小及颜色
let alertTitleStr = NSMutableAttributedString.init(string: "点错了")
alertTitleStr.addAttributes([NSFontAttributeName : UIFont.boldSystemFontOfSize(25), NSForegroundColorAttributeName: UIColor.redColor()], range: NSRange.init(location: 0, length: 3))
alert.setValue(alertTitleStr, forKey: "attributedTitle")
//2.修改message的字体大小及颜色
let alertMessageStr = NSMutableAttributedString.init(string: "只能相邻的图交换")
alertMessageStr.addAttribute(NSForegroundColorAttributeName, value: UIColor.blueColor(), range: NSRange(location: 0, length: 8))
alertMessageStr.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFontOfSize(20), range: NSRange(location: 0, length: 8))
alert.setValue(alertMessageStr, forKey: "attributedMessage")
//3.修改action的颜色 (不能修改action字体大小)
//("_titleTextColor", "titleTextColor"都可以)
//(建议使用“_titleTextColor”, 因为当我们查看 UIAlertAction的属性列表中并没有它"titleTextColor",“_titleTextColor”是的它的成员变量列表中的一员。)
action.setValue(UIColor.greenColor(), forKey: "_titleTextColor")
alert.addAction(action)
self.presentViewController(alert, animated: true, completion: nil)
}
网友评论