使用UIAlertController显示警报的简单示例
好吧,今天我将介绍UIAlertController,几乎可以肯定的是,使用iOS(Swift)制作应用程序时将实现该UIAlertController。 众所周知,iOS 8已弃用UIAlertView,并且出现了UIAlertController。
当您开始开发iOS时,我认为您每次显示警报时都经常编写类似的代码(尽管可能不存在…)
这次,我介绍使用此类UIAlertController的简单实用程序类。
尽管称为UIAlertController的模式也多种多样,但在这里我以普通标题,消息内容,Cancel,OK组成的模式为例进行介绍。
实现此方法时,常规方法如下所示。
let alert = UIAlertController(标题:“默认样式”,消息:“标准警报。”,preferredStyle:.alert)
alert.addAction(UIAlertAction(title:“ OK”,样式:.default,处理程序:nil))
alert.addAction(UIAlertAction(title:“ Cancel”,样式:.cancel,处理程序:nil))
目前(警告,动画:正确,完成:无)
例如,每次显示警报时都编写类似的代码很痛苦。 因此,我将常见的Cancel,OK格式总结为实用程序类。
daihase / iOS_Sample
通过在GitHub上创建一个帐户为iOS_Sample开发做出贡献。 github.com
我在iOS_Sample存储库中创建了一个简单的示例项目UIAlertControllerSample。 使用很简单。 只需在要显示对话框的位置进行调用,如下所示。
ViewController.swift
让alertTitle =“标题”
让alertMessage =“ message1 \ nmessage2”
让positiveButtonText =“确定”
让negativeButtonText =“取消”
Util.sharedInstance.showAlertView(title:self.alertTitle,消息:self.alertMessage,actionTitles:[self.negativeButtonText,self.positiveButtonText],操作:[
{()->()在
打印(self.negativeButtonText)
},
{()->()在
打印(self.positiveButtonText)
}]
)
Util.swift(作为参考,这是一个总结为Util的UIAlertController)
导入UIKit
Util类:NSObject {
var rootWindow:UIWindow!
// Singleton。
类var sharedInstance:实用程序{
struct Static {
静态let实例:Util = Util()
}
返回Static.instance
}
私人替代init(){}
//显示警报。
func showAlertView(
标题:字符串? =无,
讯息:字串,
actionTitles:[String],
动作:[()->()]?){
//创建新窗口。
让窗口= UIWindow(框架:UIScreen.main.bounds)
window.backgroundColor = UIColor.clear
window.rootViewController = UIViewController()
Util.sharedInstance.rootWindow = UIApplication.shared.windows [0]
//创建alertview。
让警报= UIAlertController(标题:标题,消息:消息,preferredStyle:UIAlertControllerStyle.alert)
标题标题{
//添加动作。
let action = UIAlertAction(title:title,style:.default,handler:{(action:UIAlertAction)-> Void in
如果让行为=行为{
如果acts.count> = actionTitles.count {
act [actionTitles.index(of:title)!]()
}
}
DispatchQueue.main.async(execute:{()-> Void in
alert.dismiss(动画:true,完成:nil)
window.isHidden = true
window.removeFromSuperview()
Util.sharedInstance.rootWindow.makeKeyAndVisible()
})
})
alert.addAction(动作)
}
window.windowLevel = UIWindowLevelAlert
window.makeKeyAndVisible()
window.rootViewController?.present(警告,动画:true,完成:无)
}
}
作为方法参数,使用字符串指定标题,消息正文,与“取消”相对应的按钮以及与“确定”相对应的按钮。 顺便说一句,参数action是一个允许您设置闭包的数组,因此您可以在按下OK按钮之后轻松地进行其他处理。
如果只想显示“确定”按钮,则仅为操作指定“确定”字符串。
我希望这对那些学习Swift和iOS App的人有所帮助。