SwiftCommon之Message弹窗

By | 2015年7月28日

概述

Message弹窗很多情况都需要用到,一个提示信息,一个错误信息等等。在IOS8中,使用UIAlertController类来管理弹窗。

SCMessage

import Foundation
import UIKit

public typealias SCMessageBoxStyle = UIAlertControllerStyle
public typealias SCMessageBoxActionStyle = UIAlertActionStyle

public class SCMessageBox{

    /**
    获取UIAlertController对象

    :param: title      标题提示内容
    :param: contentMsg 主要信息内容
    :param: boxStyle   窗口样式:Alert或者ActionSheet

    :returns: <#return value description#>
    */
    public class func boxController(title:String,contentMsg:String,boxStyle:SCMessageBoxStyle)->UIAlertController{
        return UIAlertController(title: title, message: contentMsg, preferredStyle: boxStyle)
    }

    /**
    获取指定的UIAlertAction对象

    :param: buttonString   按钮文本内容
    :param: boxActionStyle 按钮类型
    :param: blockHandler   点击按钮后的事件回调方法

    :returns: <#return value description#>
    */
    public class func boxAction(buttonString:String,boxActionStyle:SCMessageBoxActionStyle,blockHandler:((UIAlertAction!) -> Void)!) -> UIAlertAction{
        return UIAlertAction(title: buttonString, style: boxActionStyle, handler: blockHandler)
    }

    /**
    显示一个Alert弹窗

    :param: viewControl  需要显示的页面(常用Self表示当前viewControl)
    :param: title        弹窗的标题文本内容
    :param: contentMsg   弹窗的主要内容
    :param: buttonString 按钮的文本内容
    :param: blockHandler 按钮点击事件的回调方法
    */
    public class func show(viewControl:UIViewController,title:String,contentMsg:String,buttonString:String,blockHandler:((UIAlertAction!) -> Void)!){
        let control = self.boxController(title, contentMsg: contentMsg, boxStyle: SCMessageBoxStyle.Alert)
        let action  = self.boxAction(buttonString, boxActionStyle: SCMessageBoxActionStyle.Default, blockHandler: blockHandler)
        control.addAction(action)
        viewControl.presentViewController(control, animated: true, completion: nil)
    }
    /**
    快速显示一个Alert弹窗(title=提示,buttonString=确认)

    :param: viewControl 需要显示的页面
    :param: contentMsg  弹窗的主要内容
    */
    public class func showquick(viewControl:UIViewController,contentMsg:String){
        self.show(viewControl, title: "提示", contentMsg: contentMsg, buttonString: "确认", blockHandler: nil)
    }

}

Git地址

http://devonios.com/go/swiftcommon