美文网首页iOS 开发 iOS Developer
Swift UI 20 自定制UIAlertControlle

Swift UI 20 自定制UIAlertControlle

作者: 前进的苏辰 | 来源:发表于2016-08-31 19:36 被阅读0次

    1:系统提供的提示框如下所示:

    系统.png

    2: 自定制提示框如下:

    自定制.png

    3: 所用到的方法

    (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)
        }
    
    

    相关文章

      网友评论

        本文标题:Swift UI 20 自定制UIAlertControlle

        本文链接:https://www.haomeiwen.com/subject/kwqcettx.html