zoukankan      html  css  js  c++  java
  • UI之UIAlertView--提示框

    普通弹窗

     1 #import "AppDelegate.h"
     2 
     3 @interface AppDelegate ()
     4 @end
     5 @implementation AppDelegate
     6 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     7     
     8     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
     9     self.window.backgroundColor = [UIColor whiteColor];
    10     [self.window makeKeyAndVisible];
    11     
    12     // 新建提示框 (小诀窍:用换行符来撑大UIAlert)
    13     UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示框" message:@"hello word!
    
    
    
    
    
    
    
    
    
    " delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
    14     // 设置Alert的样式(一个文本输入框,一个密码框)
    15     [alert setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];
    16 //    typedef  enum{
    17 //        UIAlertViewStyleDefault, // 默认样式
    18 //        UIAlertViewStyleLoginAndPasswordInput, // 有登陆效果的提示框(一个文本输入框,一个密码输入框)
    19 //        UIAlertViewStylePlainTextInput, // 文本输入框
    20 //        UIAlertViewStyleSecureTextInput // 密码输入框
    21 //    }UIAlertViewStyle
    22     
    23     // 创建UITextField来关联UIAlert的输入框并设置键盘响应的样式
    24     UITextField* field = [alert textFieldAtIndex:0];
    25     UITextField* field2 = [alert textFieldAtIndex:1];
    26     // 设置键盘类型
    27     field.keyboardType = UIKeyboardTypeNumberPad;
    28     field2.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
    29     
    30     // 添加子视图 [UIAlert需都为nil] (加载控件) UIActivityIndicatorView
    31     UIActivityIndicatorView* activeView = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    32     activeView.center = CGPointMake(alert.bounds.size.width/2.0f, alert.bounds.size.height-40.f);
    33     [activeView startAnimating];
    34     [alert addSubview:activeView];
    35     alert.backgroundColor = [UIColor redColor];
    36     // 展示提示框
    37     [alert show];
    38 
    39     return YES;
    40 }

    UIButton弹窗

     1 #import "AppDelegate.h"
     2 
     3 @interface AppDelegate ()<UIAlertViewDelegate> // 签UIAlertViewDelegate协议
     4  // 协议方法按住comm键,用鼠标点进去看
     5 @end
     6 @implementation AppDelegate
     7 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     8     // Override point for customization after application launch
     9     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
    10     self.window.backgroundColor = [UIColor whiteColor];
    11     [self.window makeKeyAndVisible];
    12     
    13     // 设置按钮,并初始化位置及大小
    14     UIButton* button = [[UIButton alloc]initWithFrame:CGRectMake(20, 20, 80, 30)];
    15     // 设置按钮背景颜色
    16     button.backgroundColor = [UIColor blueColor];
    17     // 设置显示文本及状态
    18     [button setTitle:@"AlertView" forState:UIControlStateNormal];
    19     // 添加按钮点击事件
    20     [button addTarget:self action:@selector(showAlert:) forControlEvents:UIControlEventTouchUpInside];
    21     // 添加按钮倒窗口
    22     [self.window addSubview:button];
    23     return YES;
    24 }
    25 // 响应按钮点击事件
    26 // 提示框也可以自定义,使用UI View及各种空件的排列组合实现
    27 // Title:标题;message:内容;delegate:代理;其他的是按钮,按钮可以多个也可以没有
    28 - (void)showAlert:(id)sender{
    29     // 索引时,“确定”的下标为0,“取消”的下标为1,以此类推。但显示时,@”确定“排列在最后,其他的安顺序排列
    30     UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"提示内容" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:@"取消", nil];
    31     
    32     /* 如果设置按钮为空时,想让提示框消失可以使用延时器设置好间隔时间让提示框自动消失;
    33      UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"提示内容" delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
    34      // 延时器 , repeats:循环  监听dian:事件
    35      [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(dian:) userInfo:aler repeats:NO]; */
    36     // 展示提示框
    37     [alert show];
    38 }
    39 /* - (void)dian:(NSTimer*)sender{
    40     NSLog(@"监视器");
    41     NSLog(@"%@",sender.userInfo);
    42     // 取消提示框  sender.userInfo提示框对象
    43     [sender.userInfo dismissWithClickedButtonIndex:0 animated:YES];
    44 } */
    45 
    46 // 使用UIAlertViewDelegate协议方法
    47 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    48     // 点击按钮后,获取按钮的索引值
    49     switch (buttonIndex) {
    50         case 0:{
    51             // 点击按钮后可以执行操作,如跳转页面......等等
    52             NSLog(@"您点击了确定按钮");
    53             break;
    54         }case 1:{
    55             NSLog(@"您点击了取消按钮");
    56         }
    57         default:
    58             break;
    59     }
    60 }
    61 // 实现取消按钮的监听
    62 - (void)alertViewCancel:(UIAlertView *)alertView{
    63     NSLog(@"您点击的取消按钮!!!");
    64 }

    代理弹窗

     1 #import "AppDelegate.h"
     2 
     3 @interface AppDelegate () <UIAlertViewDelegate> // 签UIAlertViewDelegate协议
     4 // 协议方法按住comm键,用鼠标点进去看
     5 @end
     6 @implementation AppDelegate
     7 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     8     // Override point for customization after application launch
     9     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
    10     self.window.backgroundColor = [UIColor whiteColor];
    11     [self.window makeKeyAndVisible];
    12 
    13     UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示框" message:@"hello word!" delegate:self cancelButtonTitle:[self noButtonTitle] otherButtonTitles:[self yesButtonTitle], nil];
    14     // 展示提示框
    15     [alert show];
    16     
    17     return YES;
    18 }
    19 // yes按钮
    20 - (NSString*)yesButtonTitle{
    21     return @"Yes";
    22 }
    23 // no按钮
    24 - (NSString*)noButtonTitle{
    25     return @"No";
    26 }
    27 // 判断用户按下的是Yes还是No (代理方法)
    28 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    29     NSString* buttonTitle = [alertView buttonTitleAtIndex:buttonIndex];
    30     if ([buttonTitle isEqualToString:[self yesButtonTitle]]) {
    31         NSLog(@"User pressed the Yes button");
    32     }else if([buttonTitle isEqualToString:[self noButtonTitle]]){
    33         NSLog(@"User pressed the No button");
    34     }
    35 }
  • 相关阅读:
    浅析阿里云API网关的产品架构和常见应用场景
    30分钟全方位了解阿里云Elasticsearch(附公开课完整视频)
    阿里云葛岱斌:让天下没有难做的安全运维
    TPCx-BB官宣最新世界纪录,阿里巴巴计算力持续突破
    从零开始入门 K8s | Kubernetes 网络概念及策略控制
    云栖深度干货 | 打造“云边一体化”,时序时空数据库TSDB技术原理深度解密
    AnalyticDB for PostgreSQL 6.0 新特性介绍
    从零开始入门 K8s | 应用存储和持久化数据卷:核心知识
    K8s 从懵圈到熟练 – 集群网络详解
    理解SqlMapConfig.xml文件
  • 原文地址:https://www.cnblogs.com/WillingToAsk1946zzh/p/4470611.html
Copyright © 2011-2022 走看看