自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView。下面总结了一些常见的用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import UIKit
class ViewController : UIViewController , UIActionSheetDelegate {
override func viewDidLoad() {
super .viewDidLoad()
}
override func viewDidAppear(animated: Bool ){
super .viewDidAppear(animated)
let alertController = UIAlertController (title: "系统提示" ,
message: "您确定要离开hangge.com吗?" , preferredStyle: UIAlertControllerStyle . Alert )
let cancelAction = UIAlertAction (title: "取消" , style: UIAlertActionStyle . Cancel , handler: nil )
let okAction = UIAlertAction (title: "好的" , style: UIAlertActionStyle . Default ,
handler: {
action in
print ( "点击了确定" )
})
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self .presentViewController(alertController, animated: true , completion: nil )
}
override func didReceiveMemoryWarning() {
super .didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
} |
2,除了弹出,还可以使用从底部向上滑出的样式
(注意:如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何)
1
2
3
4
5
6
7
8
9
|
var alertController = UIAlertController (title: "保存或删除数据" , message: "删除数据将不可恢复" ,
preferredStyle: UIAlertControllerStyle . ActionSheet )
var cancelAction = UIAlertAction (title: "取消" , style: UIAlertActionStyle . Cancel , handler: nil )
var deleteAction = UIAlertAction (title: "删除" , style: UIAlertActionStyle . Destructive , handler: nil )
var archiveAction = UIAlertAction (title: "保存" , style: UIAlertActionStyle . Default , handler: nil )
alertController.addAction(cancelAction) alertController.addAction(deleteAction) alertController.addAction(archiveAction) self .presentViewController(alertController, animated: true , completion: nil )
|
3,按钮使用“告警”样式(文字颜色变红,用来来警示用户)
1
|
var okAction = UIAlertAction (title: "好的" , style: UIAlertActionStyle . Destructive , handler: nil )
|
4,添加任意数量文本输入框(比如可以用来实现个登陆框)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import UIKit
class ViewController : UIViewController , UIActionSheetDelegate {
override func viewDidLoad() {
super .viewDidLoad()
}
override func viewDidAppear(animated: Bool ){
super .viewDidAppear(animated)
let alertController = UIAlertController (title: "系统登录" ,
message: "请输入用户名和密码" , preferredStyle: UIAlertControllerStyle . Alert )
alertController.addTextFieldWithConfigurationHandler {
(textField: UITextField !) -> Void in
textField.placeholder = "用户名"
}
alertController.addTextFieldWithConfigurationHandler {
(textField: UITextField !) -> Void in
textField.placeholder = "密码"
textField.secureTextEntry = true
}
let cancelAction = UIAlertAction (title: "取消" , style: UIAlertActionStyle . Cancel , handler: nil )
let okAction = UIAlertAction (title: "好的" , style: UIAlertActionStyle . Default ,
handler: {
action in
let login = alertController.textFields!.first! as UITextField
let password = alertController.textFields!.last! as UITextField
print ( "用户名:\(login.text) 密码:\(password.text)" )
})
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self .presentViewController(alertController, animated: true , completion: nil )
}
override func didReceiveMemoryWarning() {
super .didReceiveMemoryWarning()
}
} |
5,使用代码移除提示框
1
|
self .presentedViewController?.dismissViewControllerAnimated( false , completion: nil )
|
Swift - 告警提示框(UIAlertController)的用法的更多相关文章
-
选择提示框UIAlertController 和网络状态判断AFNetworking
// 选择提示框 DownloadView *vc = [[DownloadView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_ ...
-
iOS -iOS9中提示框(UIAlertController)的常见使用
iOS 8 之前提示框主要使用 UIAlertView和UIActionSheet:iOS 9 将UIAlertView和UIActionSheet合二为一为:UIAlertController . ...
-
Swift - 警告提示框(UIAlertController)的用法
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
-
Swift_IOS之提示框UIAlertController
import UIKit class ViewController: UIViewController ,UIActionSheetDelegate{ @IBAction func btn1(_ se ...
-
js消息提示框插件-----toastr用法
(本文系转载) 因为个人项目中有一个提交表单成功弹出框的需求,从网上找了一些资料,发现toastr这个插件的样式还是不错的.所以也给大家推荐下,但是网上的使用资料不是很详细,所以整理了一下,希望能给 ...
-
swift - UIAlertController 的用法
ios 8 以后苹果官方建议使用UIAlertController这个类,所以专门去网上找资料,了解了下用法, 1.创建一个alertController let alertController = ...
-
19. UIAlertController 提示框获取文本内容,打印控制台上
1.首先定义一个全局字符串变量,方便接收获取的文本内容 2. -(void)viewDidAppear:(BOOL)animated{ UIAlertController * alert = [UIA ...
-
提示框(UIAlertController)的使用。
添加出现在屏幕中间的提示框(也就是之前的UIAlertView): UIAlertController * av = [UIAlertController alertControllerWithTit ...
-
WKWebView不显示提示框(Swift)
使用WKWebView的时候会出现明明自己做的一些页面有提示框, 为什么使用别人的页面提示框总是不显示, 其实很大部分原因是因为该提示框是通过JS调用的, 需要实现WKUIDelegate来进行监听 ...
随机推荐
-
调试关于Hibernate的程序遇到的问题
最怕的就是初学一些东西,低级的错误犯了又犯,现在总结出来以便以后不要再犯类似的错误. 一.Hibernate的延迟加载机制 在用hibernate底层访问数据库的过程忽略了延迟加载机制导致 在访问时候 ...
-
Web压力测试系统-nGrinder
nGrinder是一个免费的.开放源代码的Web性能测试工具.它本身是JAVA WEB应用程序,在Tomcat服务器中运行. 它由一个controller端和一个或多个Agent端组成.nGrinde ...
-
05:统计单词数【NOIP2011复赛普及组第二题】
05:统计单词数 总时间限制: 1000ms 内存限制: 65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...
-
[转载]深入了解 Struts 1.1
转载自:http://www.ibm.com/developerworks/cn/java/l-struts1-1/ 摘要:作为基于 MVC 模式的 Web 应用最经典框架,Struts 已经正式推出 ...
-
SQL注入实验,PHP连接数据库,Mysql查看binlog,PreparedStatement,mysqli, PDO
看到有人说了判断能否sql注入的方法: 简单的在参数后边加一个单引号,就可以快速判断是否可以进行SQL注入,这个百试百灵,如果有漏洞的话,一般会报错. 下面内容参考了这两篇文章 http://blog ...
-
Oracle Data Guard 创建物理Standby数据库
创建物理备库 机器名 a1 a2 IP: 192 ...
-
[ERROR] InnoDB: Cannot allocate memory for the buffer pool
:: mysqld_safe Starting mysqld daemon with databases from /data/mysqldb -- :: [Note] /usr/local/mysq ...
-
intptr_t 指针(转)
reference:http://muchong.com/bbs/ 对于64为系统: typedef signed char int8_t; typedef short int int16_t; ty ...
-
20190311 Java处理JSON的常用类库
1. Gson 1.1. 背景 谷歌 1.2. 简单使用 Gson gson = new Gson(); System.out.println(gson.toJson(1)); // ==> 1 ...
-
SILK 预测模块分析
SILK是一种新结构的基于噪声整形量化算法的编解码框架.不同于类CELP的AMR,EVRC,G729,Speex等标准. 类CELP的结构都是以码本激励为量化框架的编码器.但是这里并不讨论NSQ结构和 ...