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的背景颜色

swift 创建自定义的Modal_第1张图片
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){

}

swift 创建自定义的Modal_第2张图片
最终的效果

你可能感兴趣的:(swift 创建自定义的Modal)