不疯不成魔

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    //************************只是为了创建一个点击事件,用来触发能用UIAlertController处理的事件*****************
    //创建一个分段控件
    UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:@[@"放弃",@"菜单"]];
    
    segment.tintColor = [UIColor orangeColor];
    segment.frame = CGRectMake(60, 100, 200, 40);
    [segment addTarget:self action:@selector(handle:) forControlEvents:UIControlEventValueChanged];
    
    [self.view addSubview:segment];
    
    [segment release];
    
}

//*******************处理点击事件 (用 UIAlertControl (ios 8 之后才能用😊😊 ) 处理)-------所讲重点;

/**
 *  下面的是我所分享的这个空间,别看代码长,其实 case0 和 case1 是 里面几乎一样的代码,一个是为了处理警告框(UIAertView),另一个是处理操作表(UIActionSheet).其实 只是对UIAlertControl的初始化换了个类型而已,大家不要怕代码长;
 都是重复的,功能挺强大的;大家认真看看😊😊😊😊
 *
 *(重点是 里面的Block 块,这里我只是打了个NSLog,大家下去自己多总结😄😄😄😄)
 */
- (void)handle:(UISegmentedControl *)sender{
    
    switch (sender.selectedSegmentIndex) {
            // 下面实现 用 UIAlertController处理 UIAlertView的功能:
            
        case 0:{
            //1 .创建对象
    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:@"确定要退出么?" preferredStyle: UIAlertControllerStyleAlert];
            //2. 创建 触发项
            //创建触发项时注意它的类型(Style) 是三个枚举值,有不同的作用!!
            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^void(UIAlertAction *action){NSLog(@"什么都不操作😄😄");}];
            //创建 第二个触发项 (还可以继续创建,这里只用两个)
            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:  UIAlertActionStyleDestructive handler:^void(UIAlertAction *action){NSLog(@"您执行了您的操作😢");
            }];
            
            //3.添加触发项 (把刚才创建的触发项添加到这个UIAlertController的对象(alertVC)上)😄😄
            
            [alertVC addAction:cancelAction];
            [alertVC addAction:okAction];
            
            //4.添加 输入框 实现用户账户的输入
            [alertVC addTextFieldWithConfigurationHandler:^(UITextField *textField) {
                textField.placeholder = @"用户名";
                
            }];
            ////添加 输入框 实现用户密码的输入
            [alertVC addTextFieldWithConfigurationHandler:^(UITextField *textField) {
                textField.placeholder = @"密码";
                textField.secureTextEntry = YES;
            }];
            
            
            //5.模态 alertVC 控制器 到模态窗口进行显示😄😄😄😄
            [self presentViewController:alertVC animated:YES completion:nil];
            
        }
            break;
            
       // 下面实现 用 UIAlertController处理 UIActionSheet的功能
        case 1:
        {
            //1 .创建对象
            UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:@"确定要退出么?" preferredStyle: UIAlertControllerStyleActionSheet];
            //2. 创建 触发项
            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^void(UIAlertAction *action){NSLog(@"什么都不操作😄😄");}];
            
            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:  UIAlertActionStyleDestructive handler:^void(UIAlertAction *action){NSLog(@"您执行了您的操作😢");
            }];
            
            //3.添加触发项
            
            [alertVC addAction:cancelAction];
            [alertVC addAction:okAction];
            
           //4.模态 alertVC 控制器 到模态窗口进行显示😄😄😄😄
            [self presentViewController:alertVC animated:YES completion:nil];
            
        //    注意:    // 这个只有 四 步 哦! 比UiAlertView少了个 添加 输入框的功能,因为貌似 操作表没有添加输入框的功能!😄😄😄😄!
            
        }

            break;
        default:
            break;
    }
    
}

//到这里 UIAlertController 的一个初始化方法 和 一个添加操作项的方法 以及一个为 警告框 添加文本框的方法都在上面的代码里了!这个控制器内容虽然不多,但可以实现的功能是很强大的,因为里面涉及了Block 块!所以 还是请大家自己去好好看看为好!这里就不多说了!😄😄

//    另外 UIAlertController 里面还有五个小的属性,其中三个是只读的,大家可以去头文件 或者 API里查看,这里就不介绍了! 大家再见啊!作👀👀👀👀👀







@end

 

posted on 2015-09-18 17:29  不疯不成魔  阅读(557)  评论(0编辑  收藏  举报