IOS中的三种弹窗模式

#pragma mark 方法1

/**

*  用在IOS7,用到了代理

*/

- (void)use1

{

// 1.创建一个中间弹框,有“取消”和“确定按钮”,设置代理为当前控制器,由控制器监听点击了“取消”还是“确定”按钮

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"点击了图片按钮" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

// 2.显示在屏幕上

[alert show];

}

#pragma mark 监听方式1中出现的弹框中的按钮点击,控制器来监听点击了取消还是确定按钮

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

// 默认取消按钮索引为0

if (buttonIndex == 0) NSLog(@"点击了取消按钮");

else NSLog(@"点击了确定按钮");

}

#pragma mark 方法2

/**

*  用在IOS8,没有代理。点击按钮时要执行的操作放在了block中,因此不需要设置代理

*/

- (void)use2

{

// 1.创建弹框控制器, UIAlertControllerStyleAlert这个样式代表弹框显示在屏幕中央

UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击了头像" preferredStyle:UIAlertControllerStyleAlert];

// 2.添加取消按钮,block中存放点击了“取消”按钮要执行的操作

UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {

NSLog(@"点击了取消按钮");

}];

UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {

NSLog(@"点击了确定按钮");

}];

// 3.将“取消”和“确定”按钮加入到弹框控制器中

[alertVc addAction:cancle];

[alertVc addAction:confirm];

// 4.控制器 展示弹框控件,完成时不做操作

[self presentViewController:alertVc animated:YES completion:^{

nil;

}];

}

#pragma mark 方法3

/**

*  用在IOS8,没有用到代理。跟方式2唯一不同的是:弹框的样式变为“UIAlertControllerStyleActionSheet”, 弹框出现在屏幕底部

*/

- (void)use3

{

UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击了头像" preferredStyle:UIAlertControllerStyleActionSheet];

UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {

NSLog(@"点击了取消");

}];

UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {

NSLog(@"点击了确定按钮");

}];

[alertVc addAction:cancle];

[alertVc addAction:confirm];

[self presentViewController:alertVc animated:YES completion:^{

nil;

}];

}

时间: 2024-08-10 21:20:44

IOS中的三种弹窗模式的相关文章

javascript中的三种弹窗

js中三种弹窗 1)alert 弹出警告 无返回值---------alert('第一行\n第二行'); 2)confirm()选择确定或取消,返回t或f----var result = confirm('是否删除!'); 3)prompt()弹出输入框,返回输入内容----var value = prompt('输入你的名字:', '请在这里输入名字');

详解 Java 中的三种代理模式

代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.      这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法.      举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎

详解 Java 中的三种代理模式!

作者:岑宇 https://www.cnblogs.com/cenyu/p/6289209.html 代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法. 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的

ios中的三种弹框

目前为止,已经知道3种IOS弹框: 1.系统弹框-底部弹框 UIActionSheet (1)用法:处理用户非常危险的操作,比如注销系统等 (2)举例: UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"确定要注销?" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButton

VMware中的三种网络模式-----Host-only模式

3.Host-only模式(仅主机模式) Host-only模式:是一种封闭的网络模式,虚拟机只能与宿主机通过VMnet1进行通信.这种模式适合于在一个独立的环境中进行各种网络实验.这种模式与NAT模式的区别是没有地址转换服务,虚拟机只能访问到宿主机. 下面是一个关于Host-only使用的例子: ①虚拟机中编辑网络模式,选择Host-only模式: ②将虚拟机中网络连接的IP地址设置为: ③宿主机的VMnet1的网络连接IP设置为: ④网络拓扑图: 虚拟机通过VMNet1与宿主机进行通讯,但不

iOS中的几种动画模式(iOS动画)

iOS中有许许多多的动画方式今天先给大家介绍最简单的两种:头尾式动画和帧动画 一. 所谓头尾式动画,顾名思义,就是在需要动画的代码开始的时候设置开始动画,在需要动画的代码结束的时候结束动画,这就是简单的头尾式动画,二话不多说,上代码: //开始动画 [UIView beginAnimations:nil context:nil]; //这里加需要动画的代码 //结束动画 [UIView commitAnimations]; 二. 帧动画,相信对做flash的人来说帧动画相当熟悉,相信大家都记得小

PLSQL中的三种参数模式IN、OUT、IN OUT

1.IN模式 IN模式是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变. 错误例子: 1 create or replace procedure in_proc ( 2 p_a in number , -- 形参, 这里的值是调用处传递的实参 3 p_b in number 4 )as 5 begin 6 p_a := 10 ; --实参被传递进来以后,在这个程序体中值就不可能被改变了 7 p_b := 20 ; 8 DBMS_OUTPUT.PUT_LINE(p_a

Vmware中的三种网络模式

安装好 VMware workstation 后,在物理机的网络连接里面你可以看到多了两块网卡: VMnet1 是虚拟机Host-only模式的网络接口 VMnet8 是虚拟机 NAT 模式的网络接口 1.桥接模式(Bridged) 桥接模式:桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问虚拟机局域网内的任何一台机器.不过你需要多于一个的IP地址,并且需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一个网段,这样虚拟系统才能和宿主机器以及和

VMware中的三种网络模式-----NAT模式

2.NAT模式(网络地址转换模式) NAT模式:使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网.也就是说使用NAT模式可以实现在虚拟系统里访问互联网. 例子: ①虚拟机中编辑网络模式,选择NAT模式: ②虚拟机中设置为网络连接的IP地址设置为自动获得: ③宿主机的VMnet8的网络连接IP设置为: ④网络拓扑图: 虚拟机通过VMnet8网卡与宿主机进行通信,在VMnet8的两端宿主机与虚拟机在同一网段. 虚拟机想要与外界网络进行通信,通过VMnet