IOS开发中的弹框综述

    xiaoxiao2022-06-22  26

    题记————

    人生在世,淡定看世界。

    感受生活,从不说疲惫,因为卡里的存款还不够多。

    体验生活,从不说难受,因为肩上的责任不能丢。

    感悟生活,从不说后退,因为脚下的路依然要走

    1、预览

    2、弹出框的基本实现方式 

    2-1 UIAlertView 

    2-2 UIAlertController 

    3、AlertView弹出方式简述

    3-1 实现方式 

    //AlertView中央弹出 - (IBAction)AlertViewBottomShow:(id)sender { //创建 UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"从底部弹出" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil]; //添加代理 alertView.delegate = self; //显示 [alertView show]; }

    显示效果:

    以看到在这里同时也设置了代理,只是为了监听弹出框的点击事件 ,当然同时要实现协议(或者称为遵守)

    #import "ViewController.h" @interface ViewController () <UIAlertViewDelegate> @end

    时复写代理 监听回调方法

    //alertView 代理回调 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ NSLog(@"%lu",buttonIndex); } 那么在这里就可以监听到对应的点击按钮,就可以做相应的操作

    4、UIAlertController弹出方式 

    4-1 视图中央弹出

    实现方式:

    //显示方式为直接从视图中央弹出 - (IBAction)clickUIAlertControllerFunction:(id)sender { //创建 UIAlertController *controll = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击监听提示" preferredStyle:UIAlertControllerStyleAlert]; //添加取消按钮 并设置Block [controll addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { NSLog(@"CLICK 取消"); }]]; //添确认消按钮 并设置Block [controll addAction:[UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { NSLog(@"CLICK 确认"); }]]; //弹出 [self presentViewController:controll animated:NO completion:nil]; } 可以看到在添加按钮的时候同时添加了一个对应的block函数,来监听对应的按钮的点击事件

    4-2 、从视图的底部弹出显示框

    实现

    //AlertController底部弹出 - (IBAction)AlertControllerBottomShow:(id)sender { //创建 UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"提示" message:@"底部弹出" preferredStyle:UIAlertControllerStyleActionSheet]; //添加按钮一 [controller addAction:[UIAlertAction actionWithTitle:@"选择一" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { NSLog(@"CLICK 选择一"); }]]; //添加按钮一 [controller addAction:[UIAlertAction actionWithTitle:@"选择二" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { NSLog(@"CLICK 选择二"); }]]; //添加按钮三 [controller addAction:[UIAlertAction actionWithTitle:@"选择三" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { NSLog(@"CLICK 选择三"); }]]; //显示 [self presentViewController:controller animated:YES completion:nil]; }

    与方式一相比较,基本实现方式是一致的,不同的是在创建View的时候,设置的弹出方式preferredStyle不同 ,默认的方式是从视图中间显示,设置弹出方式为 UIAlertControllerollerStyleActionSheet,则实现了弹框从底部弹出的效果

    对应按钮的点击事件则在设置的对应的Block函数中实现

    5、向弹出框中添加输入框 

    //创建 UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"文本对话框" message:@"登录和密码对话框示例" preferredStyle:UIAlertControllerStyleAlert]; //向视图中添加第一个输入框 [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField){ textField.placeholder = @"用户名"; }]; //向视图中添加第二个输入框 [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) { textField.placeholder = @"电话"; textField.secureTextEntry = YES; }]; //确认 UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { //获取第一个输入框 UITextField *login = alertController.textFields.firstObject; //获取第二个输入框 UITextField *password = alertController.textFields.lastObject; NSLog(@"%@%@",login.text,password.text); }]; //取消 UIAlertAction *canleAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { }]; //添加Action [alertController addAction:okAction]; [alertController addAction:canleAction]; //弹出 [self presentViewController:alertController animated:YES completion:nil];

    早起的年轻人 认证博客专家 移动开发 项目管理 Java 只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
    转载请注明原文地址: https://ju.6miu.com/read-1122645.html

    最新回复(0)