iOS 弹窗alertView使用详解
转自:http://blog.it985.com/4321.html
alertView是iOS自带的弹窗通知框,我们来看下默认样式的效果图
下面直接上代码
1
2
3
4
5
|
- ( void ) delete { //弹窗 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@ "是否删除?" message:nil delegate:self cancelButtonTitle:@ "取消" otherButtonTitles:@ "确定" , nil]; [alertView show]; } |
如果想做成下面只有一个按钮的
1
2
3
4
5
|
- ( void ) delete { //弹窗 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@ "是否删除?" message:nil delegate:self cancelButtonTitle:@ "确定" otherButtonTitles:nil]; [alertView show]; } |
弹窗后点击确定或者取消按钮想要加点事件的话可以这样
1
2
3
4
5
6
7
8
9
10
|
- ( void )alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex //点击弹窗按钮后 { NSLog(@ "buttonIndex:%ld" ,( long )buttonIndex); if (buttonIndex == 0) { //取消 NSLog(@ "取消" ); } else if (buttonIndex == 1){ //确定 NSLog(@ "确定" ); } } |
最左边的按钮的buttonIndex是0,右边的按钮buttonIndex依次加一。
现在来说一下自定义样式的用法,alertView不但可以做出只有文字样式的弹窗,也可以做出图片样式或者带有pickerView的弹窗,现在来说一下带有可编辑文本框弹窗的做法
先看一下效果图
使用之前先引入库
没有库的请先下载库
CustomIOS7AlertView
1
|
#import "CustomIOS7AlertView.h" |
直接上代码
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
|
- ( void )alertViewUser { CustomIOS7AlertView *alertView = [[CustomIOS7AlertView alloc] init]; [alertView setButtonTitles:[NSMutableArray arrayWithObjects:@ "上一个" , @ "确定" , @ "下一个" , nil]]; UIView *demoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 290, 120)]; UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 180, 20)]; title.text = @ "请填写姓名" ; [demoView addSubview:title]; UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 50, 270, 30)]; textField.backgroundColor = [UIColor whiteColor]; textField.returnKeyType = UIReturnKeyDone; textField.delegate = self; [demoView addSubview:textField]; [alertView setContainerView:demoView]; //把demoView添加到自定义的alertView中 //这里是点击按钮之后触发的事件 [alertView setOnButtonTouchUpInside:^(CustomIOS7AlertView *alertView, int buttonIndex) { if (buttonIndex==0) { //上一个 NSLog(@ "上一个" ); } else if (buttonIndex==1) { //确定 NSLog(@ "确定" ); NSLog(@ "texeValue:%@" ,textField.text); } else if (buttonIndex == 2){ //先保存数据,然后跳到下一个 NSLog(@ "下一个" ); } }]; [alertView show]; } |
要注意的是把demoView添加到alertView的方法是“[alertView setContainerView:demoView];”
并且点击alertView触发的事件也在上面的注释中标出。可直接把代码贴过去使用。
如果想添加图片或者其他的可以直接在demoView里面添加。控制好尺寸就可以了。
本文永久地址:http://blog.it985.com/4321.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。
iOS 弹窗alertView使用详解的更多相关文章
- iOS 单元测试之XCTest详解(一)
iOS 单元测试之XCTest详解(一) http://blog.csdn.net/hello_hwc/article/details/46671053 原创blog,转载请注明出处 blog.csd ...
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...
- IOS—UITextFiled控件详解
IOS—UITextFiled控件详解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGR ...
- [转]iOS学习之UINavigationController详解与使用(三)ToolBar
转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...
- IOS 友盟使用详解
IOS 友盟使用详解 这篇博客将会详细介绍友盟的使用,希望对博友们有所帮助. 首先我们在浏览器上搜索友盟. 在这里我们选择官网这个,进去友盟官网后我们按照下图进行选择. 接下来选择如下图 Next 这 ...
- iOS原生地图开发详解
在上一篇博客中:http://my.oschina.net/u/2340880/blog/414760.对iOS中的定位服务进行了详细的介绍与参数说明,在开发中,地位服务往往与地图框架结合使用,这篇博 ...
- [转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加U ...
- iOS中—触摸事件详解及使用
iOS中--触摸事件详解及使用 (一)初识 要想学好触摸事件,这第一部分的基础理论是必须要学会的,希望大家可以耐心看完. 1.基本概念: 触摸事件 是iOS事件中的一种事件类型,在iOS中按照事件划分 ...
- ios新特征 ARC详解
IOS ARC 分类: IOS ARC2013-01-17 09:16 2069人阅读 评论(0) 收藏 举报 目录(?)[+] 关闭工程的ARC(Automatic Reference Co ...
随机推荐
- Docker 资源 | 官方文件
Docker资源 Docker官方英文资源: docker官网:http://www.docker.com Docker windows入门:https://docs.docker.com/windo ...
- nginx目录安全设置
nginx目录安全设置<pre> location ~ /\. { deny all; }</pre>这样所有隐藏文件都不会以URL方式打开了
- SQlALchemy session详解
系列文章: Python SQLAlchemy入门教程 概念 session用于创建程序和数据库之间的会话,所有对象的载入和保存都需通过session对象 . 通过sessionmaker调用创建一个 ...
- c#Func委托
public delegate TResult Func<in T, out TResult>(T arg); 参数类型 T:此委托方法的参数类型 TResult:此委托方法的返回值类型 ...
- tomcat的catalina.out日志切割
目前我们的日志文件catalina.out累积后非常大,部分应用的catalina.out达到几十G并且还在持续增长. 日志文件太大不便于阅读和排查问题.业务增长不断增长,日志也在不断增加,为了以后便 ...
- 6.2.2 辅助类GenericOptionsParser,Tool和ToolRunner深入解析
辅助类GenericOptionsParser,Tool和ToolRunner (1)为什么要用ToolRunner 将MapReduce Job配置参数写到java代码里,一旦变更意味着修改java ...
- Go语言Hello world(GOPATH和Go Module版)
本文是「vangoleo的Go语言学习笔记」系列文章之一. 官网: http://www.vangoleo.com/go/go-hello-world-02/ 往期回顾: Go语言入门-你好,Go语言 ...
- [综合] ISE的综合结果
1.count2 == 7‘d12,会被综合成下面这个样子, 7‘d12就是左边下面这根绿线,等于符号在中间的圆圈里. 2.什么线都不点的时候,也就什么也没被选中, 而一旦我点击了某根线,却发现图里到 ...
- 深入SQL Server 日期和时间的内部存储
在SQL Server的内部存储中,日期和时间不是以字符串的形式存储的,而是使用整数来存储的.使用特定的格式来区分日期部分和时间部分的偏移量,并通过基准日期和基准时间来还原真实的数据. 一,DateT ...
- Node_exporter一键安装部署脚本(Shell)
#!/bin/bash # # rhel7. 安装node_exporter 用于监控数据采集 # Usage: # sh addNode.sh #Logs: /var/log/messages #H ...