//
//  ViewController.h
//  UIAlertViewAndUIActionSheet
//
//  Created by hehe on 15/9/21.
//  Copyright (c) 2015年 wang.hehe. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIAlertViewDelegate,UIActionSheetDelegate>

@end

//
//  ViewController.m
//  UIAlertViewAndUIActionSheet
//
//  Created by hehe on 15/9/21.
//  Copyright (c) 2015年 wang.hehe. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self creatButton];

}

#pragma mark    ----------------------创建一个button
- (void)creatButton
{
    UIButton *alertButton = [[UIButton alloc] initWithFrame:CGRectMake(50, 100, 60, 30)];
    
    [self.view addSubview:alertButton];
    
    alertButton.backgroundColor = [UIColor grayColor];
    
    [alertButton setTitle:@"弹出警告框" forState:UIControlStateNormal];
    
    [alertButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    
    alertButton.titleLabel.adjustsFontSizeToFitWidth = YES;
    
    [alertButton addTarget:self action:@selector(showAlert) forControlEvents:UIControlEventTouchUpInside];
    
    
    
    //*******************************************
    UIButton *actionBtn = [[UIButton alloc] initWithFrame:CGRectMake(20, 200, 200, 30)];
    
    [self.view addSubview:actionBtn];
    
    actionBtn.backgroundColor = [UIColor grayColor];
    
    [actionBtn setTitle:@"弹出表单" forState:UIControlStateNormal];
    
    [actionBtn setTitleColor:[UIColor redColor] forState:0];
    
    actionBtn.titleLabel.adjustsFontSizeToFitWidth = YES;
    
    [actionBtn addTarget:self action:@selector(showActionSheet) forControlEvents:UIControlEventTouchUpInside];
    
}

- (void)showActionSheet
{
    UIActionSheet *as = [[UIActionSheet alloc] initWithTitle:@"你确定要删除?" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"删除" otherButtonTitles:@"确定", nil];
    
    [as showInView:self.view];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"10");
    //当button 押下的时候调用
    NSLog(@"index = %ld",buttonIndex);
}

- (void)actionSheetCancel:(UIActionSheet *)actionSheet
{
    NSLog(@"11");
}

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
    NSLog(@"12");
}

- (void)didPresentActionSheet:(UIActionSheet *)actionSheet
{
    NSLog(@"13");
}//

- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"14");

}

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"15");

}

////////////////////////////////////////////////////

- (void)showAlert
{
    //[注]不需要添加到父视图,不需要设定坐标
    UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"警告" message:@"输入的密码错误" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", @"ok",nil];
    
    
    [av show];
    
    av.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
    av.tag =10;
}

#pragma mark    ------------------------alert view delegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    //当button 押下的时候调用
    NSLog(@"index = %ld",buttonIndex);

}

- (void)willPresentAlertView:(UIAlertView *)alertView
{
    NSLog(@"will present");
}

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
    UITextField *tf = [alertView textFieldAtIndex:0];
    if([tf.text isEqualToString:@"123"])
        return YES;
    else
        return NO;
}

- (void)didPresentAlertView:(UIAlertView *)alertView
{
     NSLog(@"0");
}
// after animation

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"1");
}
// before animation and hiding view

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"2");

}
// after animation
@end

UIAlertView[警告框] [代理协议型]UIActionSheet [表单视图][代理协议型]的更多相关文章

  1. IOS UIAlertView(警告框)方法总结

    转自:my.oschina.net/u/2340880/blog/408873?p=1 IOS中UIAlertView(警告框)常用方法总结 一.初始化方法 - (instancetype)initW ...

  2. IOS中UIAlertView(警告框)常用方法总结

    一.初始化方法 - (instancetype)initWithTitle:(NSString *)title message:(NSString*)message delegate:(id /*&l ...

  3. Bootstrap-Plugin:警告框(Alert)插件

    ylbtech-Bootstrap-Plugin:警告框(Alert)插件 1.返回顶部 1. Bootstrap 警告框(Alert)插件 警告框(Alert)消息大多是用来向终端用户显示诸如警告或 ...

  4. Jquery学习笔记:操作form表单元素之一(文本框和下拉框)

    一.概述 在web页面开发中,经常需要获取和设置表单元素的值(如文本框中的内容),特别是在ajax应用中,更是常态.本文系统的介绍下如何操作. 同操作其它html元素一样,操作的过程差不多. 第一步, ...

  5. JS的文本框验证以及form表单的提交阻止

    js: 1.只能输入数字 只能输入数字:<input type="text" onkeyup="javascript:ReNumber(this)" /& ...

  6. 前端笔记:React的form表单全部置空或者某个操作框置空的做法

    1.全部置空的做法,一般在弹出框关闭后,需要重置该form所有表单: this.props.form.resetFields(); 2.针对某个操作框置空的做法 例如,form表单里有一个部门和一个张 ...

  7. IOS 警告框 (UIAlertView)的使用方法

    1.普通警告框 IOS的SDK中提供了一个方便的类库UIAlertView,配合着不同参数来使用此类可以做出大多数的警告框,如下代码是IOS最简单的警告框. UIAlertView *alert = ...

  8. iOS:提示框(警告框)控件UIAlertView的详解

    提示框(警告框)控件:UIAlertView   功能:当点击按钮或标签等时,弹出一个提示框,显示必要的提示,然后通过添加的按钮完成需要的功能.   类型:typedef NS_ENUM(NSInte ...

  9. 警告框和操作表(IOS开发)

    警告框(AlertView)时模态的,不关闭它就不能做其它事情,所以不是下面几种情况不应该随便使用. 1.应用不能继续执行. 如内存不足,没有网络.一般仅仅须要一个button. 2.询问还有一个解决 ...

随机推荐

  1. SIP入门(二):建立SIPserver

    在我的上一篇文章中已经介绍怎样通过SIP软电话直接通话,可是假设须要支持很多其它用户互相通话,同一时候基于安全考虑,须要对用户帐户登录进行验证控制,这些情况下就须要建立SIPserver. SIPse ...

  2. C++ Socket超时设置

    用winsocket时,send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,可以设置收发时限:int nNetTimeout = 1000; //1秒//发送时限setsocko ...

  3. 【Oracle】ORA-00600: [kfgFinalize_2]

    环境: OS:OEL5.6 RAC:10.2.0.1.0 [root@rac2 ~]# crs_stat -t Name           Type           Target    Stat ...

  4. ubuntu14 部署zookeeper3.4.6启动失败

    解压缩zookeeper,启动时,报如下错误: zkServer.sh: 81: /home/xxx/zookeeper-3.4.6/bin/zkEnv.sh: Syntax error: " ...

  5. 学习笔记之高质量C++/C编程指南

    高质量C++/C编程指南 http://man.lupaworld.com/content/develop/c&c++/c/c.htm 高质量C++/C编程指南(附录 C :C++/C 试题的 ...

  6. 标准库 - fmt/print.go 解读

    // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a B ...

  7. [Android开发]- MVC的架构实现登录模块-1

    本系列博客主要展示一下,在C-S(Client - Server)系统开发当中,如何使用MVC的架构来实现安卓端的一个登录验证的模块.如果你能有基本的数据库开发,WEB开发,和安卓开发的知识,那么理解 ...

  8. 【技术文档】XuebaOnline配环境时遇到的问题和解决办法

    在Ubuntu下装XuebaOnline可能遇到的问题和解决办法 自动安装Python3.0以上版本 编译命令采用python3 manage.py runserver,所以在linux系统下需要安装 ...

  9. 计算机网络中的TCP/UDP协议到底是怎么回事(一)

    TCP/IP五层网络结构模型 物理层:物理层建立在物理通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间透明的比特 (bit) 流传输.只有该层为真实物理通信,其它各层为虚拟通信 数据 ...

  10. jquery . fancybox()

    1.父页面 function chooseTopic(btn) {//选择议题 $.fancybox({ type : 'iframe', href : '', fitToView : false, ...