本文的需求很簡單,就是在一個操作完成之后,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的背景顏色
如何調用
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){
}