SwiftCommon之Message弹窗

Easter79
• 阅读 754

概述

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

tips:

本文由wp2blog导入,原文链接:http://devonios.com/scmessage.html

点赞
收藏
评论区
推荐文章
待兔 待兔
11个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Android 经典笔记七 全局弹窗Dialog
目录介绍1.全局弹窗分析2.全局弹窗必要条件3.全局弹窗实现方式3.1.利用系统弹出dialog3.2.获取WindowManager,直接添加view3.3.在服务里,获取栈顶的Activity,弹窗4.Dialog实现全局Loading加载框4.1.自定义Loading类4.2.给自定义的
Stella981 Stella981
3年前
MyEclipse2014 Update Progress弹窗频繁出现的问题解决
备注20170825:实际验证该效果只适合开始的时候,时间长了还是会蹦出弹窗,目前出现弹窗后本人是直接将之最小化到左下角,基本不会干扰.这两天开始使用MyEclipse2014之后,UpdateProgress弹窗更加频繁,十分烦人.上网上搜了很多方法,适用性较差,结合实验直接将自己的方法给出:1.关掉在打开的MyEclipse2014;2
布局王 布局王
1天前
HarmonyOS NEXT仓颉开发语言实战案例:图片预览器
上文分享了如何使用仓颉语言实现动态广场,动态广场中有很多图片,本文一下如何使用仓颉语言实现一个图片放大预览器:看到这个效果,我首先想到的实现方案是弹窗,弹窗的弹出和消失效果为我们节省了很多工作,这里使用的是CustomDialogController。我们
程序员一鸣 程序员一鸣
1天前
鸿蒙开发:应用内如何做更新
使用系统的,直接调用检查和显示更新弹窗即可,可以说就两个方法,我们就实现了应用更新的功能,可以说是非常的简单,如果系统的弹窗无法满足您的需求,您可以自定义弹窗,然后实现跳转应用详情页面即可。
鸿蒙小林 鸿蒙小林
1天前
《仿盒马》app开发技术分享-- 首页banner(6)
技术栈Appgalleryconnect开发准备上一篇文章中我们实现了项目端云一体化首页商品活动入口列表,现在我们还差一个banner的模块,banner模块不仅可以用于展示一些信息,还可以在点击之后进行,跳转,弹窗,升级提示,信息提示等作用,我们直接坐的
鸿蒙小林 鸿蒙小林
1天前
《仿盒马》app开发技术分享-- 分类模块顶部导航列表弹窗(16)
技术栈Appgalleryconnect开发准备上一节我们实现了分类页面的顶部导航栏列表,并且实现了首页金刚区跟首页导航栏的联动,这一节我们实现导航栏列表的弹窗功能,需要学习的知识点有自定义弹窗,同时我们的数据源需要跟分类页保持一一致。功能分析1.弹窗自定
鸿蒙小林 鸿蒙小林
1天前
《仿盒马》app开发技术分享-- 个人信息页(23)
技术栈Appgalleryconnect开发准备上一节我们实现了个人中心的业务逻辑,实现了个人信息修改后的动态更换,而且实现了一个静态的头像选择弹窗,但是这个弹窗我们并没有使用。这一节我们在个人信息页面就会使用到这个弹窗并且还涉及其他的弹窗。以及信息的同步
程序员一鸣 程序员一鸣
3天前
鸿蒙开发:dialog库做了一些优化
当然了,目前仍然有很多可优化的项,比如时间弹窗中的跨步选择,跨月日期等等,在后续的时间安排中,也会着重的去解决这个问题,也希望友友们在使用的过程中能够踊跃的发现问题和提出问题,感谢大家。
布局王 布局王
1天前
详解HarmonyOS NEXT仓颉开发语言中的全局弹窗
之前分享过仓颉开发语言中的自定义弹窗,那一次的自定义弹窗需要在对应页面先初始化再进行弹出,不是很方便。今天分享一下不依赖页面的全局弹窗。仓颉提供了全局弹窗模块promptaction,使用之前先将它导入:importohos.promptaction.该模
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
6
获赞
1.2k