swift 创建自定义的Modal

本文的需求很简单,就是在一个操作完成之后,popup出一个modal来提醒用户操作用没有成功,本来有想过使用AlterViewController,但是发现功能比较有限,所以干脆就自己写了一个UIViewController来实现,本文参考的也是本站里面APP上,点击收藏只有会弹出一个提示对话框,然后自动消失。

创建xib文件

记得创建size类型为:freeform。然后xib里面有放入了两个view:一个是logo view,还有一个lable用来显示提示信息

self.settingTextView.textAlignment= .Center// 文字始终居中对齐

self.settingTextView.textColor=UIColor.whiteColor()// 字体的颜色

self.view.backgroundColor=UIColor.blackColor()//modal的背景颜色

freeform

如何调用

let alterView =DefaultSettingController()//初始化这个controller

alterView.message= message//给lable view进行赋值

alterView.modalPresentationStyle= .FormSheet//设置

alterView.preferredContentSize=CGSize(width:300, height:100)//自定义大小

alterView.view.superview?.center=self.view.center

alterView.view.layer.cornerRadius=5

alterView.view.layer.masksToBounds=true

self.presentViewController(alterView, animated:false, completion:nil)

lettime:NSTimeInterval=1.0//延迟之后自动消失

letdelay =dispatch_time(DISPATCH_TIME_NOW, Int64(time *Double(NSEC_PER_SEC)))

dispatch_after(delay,dispatch_get_main_queue()) {

alterView.dismissViewControllerAnimated(false){

}

最终的效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容