B12-UIAlertController(NS_CLASS_AVAILABLE_IOS(8_0))。

在IOS8之后,UIAlertController替代了UIActionSheet和UIAlertView。UIAlertController的使用主要分三个步骤:

一、初始化

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"警告" message:@"啊哈哈哈哈" preferredStyle:UIAlertControllerStyleAlert];
// typedef NS_ENUM(NSInteger, UIAlertControllerStyle) {
//    UIAlertControllerStyleActionSheet = 0,
//    UIAlertControllerStyleAlert
//} NS_ENUM_AVAILABLE_IOS(8_0);

二、添加Action(button或者textfield)

[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
        NSLog(@"点击了取消按钮");
    }]]; // 创建action添加action

    UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        NSLog(@"点击了确定按钮");
    }];
    [alert addAction:sureAction]; // 创建action添加action    sureAction.enabled = NO;    self.sureAction = sureAction;
__weak typeof(self) weakSelf = self;
    [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"用户名";
        textField.textColor = [UIColor redColor];
        [textField addTarget:weakSelf action:@selector(textDidChange:) forControlEvents:UIControlEventEditingChanged];
    }]; // 添加textField

- (void)textDidChange:(UITextField *)textField{    self.sureAction.enabled = textField.hasText;}

三、显示

[self presentViewController:alert animated:YES completion:nil];

四、弱引用的方式

//    __weak UIAlertController *weakAlert = alert;
//    __unsafe_unretained UIAlertController *weakAlert = alert;
//    __weak typeof(alert) weakAlert = alert;
时间: 2024-11-09 00:35:59

B12-UIAlertController(NS_CLASS_AVAILABLE_IOS(8_0))。的相关文章

设计模式-观察者模式(Observer Pattern)

今天看了看观察者模式,有点小小的体会,从以下3点说明之 : 1.看一下经典的观察者模式图 2.讲个故事,说一下逻辑 有一个男人(Subject),他通过一定的手段(attach)拥有了3个女人(Observer):老婆(concreteObserver1),情人(concreteObserver2),小3(concreteObserver3).这3个女人都不知情,但是都想知道男人的月收入情况.而月收入需要通过工资卡(concreteSubject)来体现.所以,每当发工资(setState)时,

Golang-interface(四 反射)

github:https://github.com/ZhangzheBJUT/blog/blob/master/reflect.md 一 反射的规则 反射是程序运行时检查其所拥有的结构,尤其是类型的一种能力:这是元编程的一种形式.它同时也是造成混淆的重要来源. 每个语言的反射模型都不同(同时许多语言根本不支持反射).本节将试图明确解释在 Go 中的反射是如何工作的. 1. 从接口值到反射对象的反射 在基本的层面上,反射只是一个检查存储在接口变量中的类型和值的算法.在 reflect 包中有两个类

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

http://zhidao.baidu.com/link?url=NSYPiSvtGTMoqMA9vt68FRRF8WbfYVmwWeMh47_2lkp0K3jFMl--1Co1tg1R4VshTQV2De1JeG-fh3Ezu5j-3q Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一).Git有什么特点?简单来说就是:高端大气上档次!那什么是版本控制系统?如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不回来怎么办?

编程题:用递归调用实现,求N!(!阶乘)。

#include<stdio.h> long fac(int n) { if(n==1) return 1L;             /*"1L"为长整型常量*/ else return n*fac(n-1); } void main() {int m; scanf("%d",&m); printf("%2d!=%d\n",m,fac(m)); } 算法解析: 运行结果: 编程题:用递归调用实现,求N!(!阶乘).,布布扣,

Struts2之Domain Model(域模型)。

为了避免  在action中有 太多的 类,而需要写大量的get().set().所以,Struts2 使用 了 domain model. eg: private User user;    public String add(){        System.out.println("name:"+user.getUname());        System.out.println("pwd:"+user.getPwd());        System.ou

SKU=Stock Keeping Unit(库存量单位)。即库存进出计量的单位,可以是以件,盒,托盘等为单位

SKU=Stock Keeping Unit(库存量单位).即库存进出计量的单位,可以是以件,盒,托盘等为单位.SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法.现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号.单品:对一种商品而言,当其品牌.型号.配置.等级.花色.包装容量.单位.生产日期.保质期.用途.价格.产地等属性与其他商品存在不同时,可称为一个单品.

添加和删除节点(HTML 元素)。

JavaScript HTML DOM 元素(节点) 添加和删除节点(HTML 元素). 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素. 实例 <div id="div1"> <p id="p1">这是一个段落</p> <p id="p2">这是另一个段落</p> </div> <sc

Objective-C( 语法二)

 分类(Category):可以给某一个类扩充一些方法(不修改原来类的代码)  作用:在不改变原来类内容基础上,可以为类增加一些方法  使用注意: 1. 只能增加方法,不能增加成员变量 2. 分类方法实现中可以访问原来类中的成员变量 3. 分类可以重新实现原来类中的方法,会覆盖原来类的方法,导致原来类的方法无法再使用 4. 分类的优先级最高:调用一个方法优先去分类中找,再去原来类,然后父类中找 分类(最后编译的优先)—>原来类—>父类 声明: @interface 类名(分类名称) @end

Unity3d学习笔记(持续更新)。。。

[转]自http://blog.csdn.net/quannenggou/article/details/7204172 Mathf 数学运算 Mathf.Abs绝对值 计算并返回指定参数 f 绝对值. Mathf.Acos反余弦 static function Acos (f : float) : float 以弧度为单位计算并返回参数 f 中指定的数字的反余弦值. Mathf.Approximately近似 static function Approximately (a : float,