iOS开发-------UIAlertController(弹出视图控制器)

这篇博客主要介绍了在iOS开发中,随着版本更新,从UIAlertView和UIActionSheet到UIAlertController的变化。作者指出,虽然UIAlertView和UIActionSheet在iOS 8.0之前被广泛使用,但随着iOS 9的推出,它们已不再被推荐。文章详细讲解了如何使用UIAlertController作为替代方案,并提供了使用示例。
摘要由CSDN通过智能技术生成

    今天在偶尔使用UIAlertView的时候,发现这个组件已经不被推荐使用了,虽然还是可以用的,但是在iOS9出了的情况下,使用前景不容乐观,所以今天就抽时间研究了下,苹果推荐的组件 UIAlertController (弹出视图控制器)。


    优先说明一下IOS_8_0之前的两个组件 UIAlertView 和 UIActionSheet ,在IOS_8_0之后,苹果统一用UIAlertController来替代


    为了方便验证,用storyboard在主视图控制器中拖入一个button,只为测试,在点击按钮的时候弹出警告视图。



将button拖入viewController.m,并注册一个点击方法,为了好掩饰,一切代码写在button点击事件中




UIAlertView(IOS_8_0之前)

      什么叫做UIAlertView,翻译过来就是警告视图,样子如图



当点击按钮的时候,需要弹出这个AlertView,按钮的点击事件如下
/**
 *  button的点击回调方法
 */
- (IBAction)buttonPressed:(id)sender
{
    NSLog(@"按钮被点击!");
    
    /**
     * 创建一个UIAlertView 对象
     * 设置title(表头)为@“我是AlertView(IOS8_0之前)”
     * 设置message(携带信息) 为@“已经点击按钮”
     * 设置代理为 自身 self
     * 加重字体的button的按钮(默认是第一个的按钮)的文字是 @“确定”
     * 其他的按钮以此是@"取消"
     */
    UIAlertView * alertView = [[UIAlertView alloc]initWithTitle:@"我是AlertView(IOS8_0之前)" message:@"已经点击按钮" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:@"取消",nil];//IOS8_0 之前
    
    //显示 alertView
    [alertView show];
    
}


这是当点击按钮的时候,需要回调方法,在初始化的时候已经设置了delegate,所以在延展或头文件中实现?<UIAlertViewDelegate>协议即可,
协议的方法如下,是@option的

#pragma mark -UIAlertViewDelegate 方法
/**
 *  根据button的下标数字 确认是哪一个按钮被点击
 *
 *  @param alertView   调用方法的alertView
 *  @param buttonIndex button的下标数字
 */
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    //下标的数字式按照alertView自左往右的顺序
    switch (buttonIndex) {
        case 0:
            NSLog(@"点击了确定按钮!");
            break;
        case 1:
            NSLog(@"点击了取消按钮!");
            break;
        default:
            break;
    }
}

/**
 *  将要出现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值