转自: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使用详解的更多相关文章

  1. iOS 单元测试之XCTest详解(一)

    iOS 单元测试之XCTest详解(一) http://blog.csdn.net/hello_hwc/article/details/46671053 原创blog,转载请注明出处 blog.csd ...

  2. iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

    http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...

  3. IOS—UITextFiled控件详解

    IOS—UITextFiled控件详解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGR ...

  4. [转]iOS学习之UINavigationController详解与使用(三)ToolBar

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...

  5. IOS 友盟使用详解

    IOS 友盟使用详解 这篇博客将会详细介绍友盟的使用,希望对博友们有所帮助. 首先我们在浏览器上搜索友盟. 在这里我们选择官网这个,进去友盟官网后我们按照下图进行选择. 接下来选择如下图 Next 这 ...

  6. iOS原生地图开发详解

    在上一篇博客中:http://my.oschina.net/u/2340880/blog/414760.对iOS中的定位服务进行了详细的介绍与参数说明,在开发中,地位服务往往与地图框架结合使用,这篇博 ...

  7. [转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加U ...

  8. iOS中—触摸事件详解及使用

    iOS中--触摸事件详解及使用 (一)初识 要想学好触摸事件,这第一部分的基础理论是必须要学会的,希望大家可以耐心看完. 1.基本概念: 触摸事件 是iOS事件中的一种事件类型,在iOS中按照事件划分 ...

  9. ios新特征 ARC详解

    IOS ARC 分类: IOS ARC2013-01-17 09:16 2069人阅读 评论(0) 收藏 举报   目录(?)[+]   关闭工程的ARC(Automatic Reference Co ...

随机推荐

  1. Android音频开发(1):基础知识

    Android音频开发(1):基础知识 导读 人的说话频率基本上为300Hz~3400Hz,但是人耳朵听觉频率基本上为20Hz~20000Hz. 对于人类的语音信号而言,实际处理一般经过以下步骤: 人 ...

  2. ORACLE存储过程的创建和执行的简单示例和一些注意点

    此示例的主要目的主要是为了了解在PL/SQL环境下怎么创建和执行存储过程. 存储过程所涉及的DataTable: 第一步:创建游标变量 游标是ORACLE系统在内存中开辟的一个工作区,主要用来存储SE ...

  3. 012.Kubernetes二进制部署worker节点Flannel

    一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通.flannel 使用 vxlan 技术为各节点创建一 ...

  4. Node 入门

    Node 入门 NodeJs 安装,HelloWorld 下载地址 https://nodejs.org/zh-cn/ https://nodejs.org/dist/ 用 Node命令行输出Hell ...

  5. Test Complete 的自动化测试 --- 计算器

    Test Complete 的自动化测试 --- 计算器   ·PS:工具:Test Complete, OS: win XP, (win10 不支持该工具的自动化测试) ·该篇博客将会讲1.如何录制 ...

  6. drf序列化组件之视图家族

    一.视图家族的分类 1.导入分类 from rest_framewok import views, generics, mixins, viewsets views:视图类 ​ 两大视图类:APIVi ...

  7. API的描述语言--Swagger

    Swagger是一种Rest API的表示方式. 有时也可以作为Rest API的交互式文档,描述形式化的接口描述,生成客户端和服务端的代码. 一,描述语言:Spec Swagger API Spec ...

  8. Java设计模式之鸭子模式

    这两天在看HeadFirst设计模式,第一种鸭子模式都不太理解.后来在百度知道上看了某大神的解释 明白了不少. 列出如下: 假设我们需要设计出各种各样的鸭子,一边游泳戏水, 一边呱呱叫.很明显这时我们 ...

  9. Python3 之 列表推导式

    列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表. 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句.那个表达式可以是任意的, ...

  10. 【Luogu P1981】表达式求值

    点我进入原题Luogu P1981 [解题思路] 仔细分析题目,这就是一道模拟题…… 直接按照符号读入全部的数字,先算乘法,最后把全部数加起来就是结果了 记得要%10000取最后四位 [参考程序] # ...