(10)UIAlterController与UIAlterAction

简介: (10)UIAlterController与UIAlterAction

(一)UIAlterController是“提示框”的意思

1.iOS7使用UIAlertView,iOS8使用的是 UIAlertController
       UIAlterController继承于UIViewController,说白了也是一个控制器,他的显示只是提示框而已,不像其他控制器可以拥有一个随意的View

(二).UIAlterController具有两种表现形式(风格)

UIAlterController有两种风格(弹出方式采取的是模态模式,也就是present,具体的看下面的代码)
      (1)UIAlertControllerStyleActionSheet = 0,显示在底部   不支持输入框
       例如:UIAlterController *alterController = [UIAlterController alertControllerWithTitle:@"进入下一页" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
      (2)UIAlertControllerStyleAlert   显示在屏幕中间
       例如:           
           UIAlertController *alterController = [UIAlertController alertControllerWithTitle:@"你是个好人吗?" message:nil preferredStyle:UIAlertControllerStyleAlert];
      (3)上面的两步仅仅是设定一个提示框,要想显示提示框还要加上模态转换进入我们所设置的UIAlterController的界面(此时只是点击屏幕只是出现一个提示框而已,而且不能够返回)
         [self presentViewController:alterController animated:YES completion:nil];
      (4)上面代码的总体展示
          -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
         {
             UIAlterController *alterController = [UIAlterController alertControllerWithTitle:@"进入下一页" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
             [self presentViewController:alterController animated:YES completion:nil];
         }

(三)UIAlterAction的讲解(类似于Button)

(1).有三种形式,下面分别介绍
        1. UIAlertActionStyleDefault 
        2. UIAlertActionStyleCancel  取消(加在提示框上,点击界面,可以自动返回,也可以点击取消返回上一个界面)
        3. UIAlertActionStyleDestructive  字体会标红,表示一个提醒 //Destructive:有破坏性的
     (2).对上面的三种形式分别举例
            1.例如(可以点击自动返回,因为自带dismiss )
               UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"进入下一页" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
                UIAlertAction *addaction1 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                }];
               [alertVc addAction:addaction1];
               [self presentViewController:alertVc animated:YES completion:nil];
            2.例如(加在提示框上可以点击屏幕自动返回上一个界面,也可以点击取消返回)
               UIAlertAction *cancelAction1 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
               }];
               [alertVc addAction:cancelAction1];
            3.例如 (UIAlertActionStyleDestructive 字体会标红,表示一个提醒,可以用于删除按钮的设置)
               UIAlertAction *cancelAction3 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
              }];
              [alertVc addAction:cancelAction3];
      (3)在提示框里面还可以设置UITextFiled的(直接添加不再需要其他的做法)
             [alertVc addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
             [textField addTarget:self action:@selector(contentChange:) forControlEvents: UIControlEventEditingChanged];
             }];
       (4)UITextFiled不可以在UIAlterController在下面弹出的输入框赋赋值,但是在中间弹出的可以赋值

这是一些简单的介绍,水平有限,望大家多指正,下节课讲述UIAlterController与UIAlterAction,UIImagePickerController 的综合运用。

目录
相关文章
|
iOS开发
Xcode更新的那些事儿Xcode更新的那些事儿
App Store上:本地 Xcode 版本是 10.1,在 App Store 上更新,显示的是不兼容更新,强制更新的话,更新完还是 10.1。
420 0
Xcode更新的那些事儿Xcode更新的那些事儿
|
Linux API 芯片
Apifox使用教程,太好用了!
因此今天介绍一个 API 管理工具Apifox使用教程,一方面具备 Swagger 和 postman 的功能,一方面又针对上述问题做了优化,能够提升在工作过程中的效率。
897 0
Apifox使用教程,太好用了!
|
存储 iOS开发
iOS - UIMenuController
前言 NS_CLASS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED @interface UIMenuController : NSObject 1、UIMenuController 简介 1、默认情况下,UITextFiled、UITextView、UIWebView 都有苹果自带的有 UIMenuController 功能。
1127 0
|
JavaScript Unix 关系型数据库
Unix时间戳 POSIX时间 Unix时间
时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数,也被称为 Unix 时间戳(Unix Timestamp)。Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
126483 2
|
23小时前
|
存储 关系型数据库 MySQL
数据管理的艺术:PolarDB开源版详评与实战部署策略(一)
PolarDB-X是阿里巴巴自研的高性能云原生分布式数据库,基于共享存储的Shared-nothing架构,支持MySQL生态,具备金融级高可用、分布式水平扩展、HTAP混合负载等能力。它通过CN(计算节点)和DN(存储节点)实现计算与存储分离,保证数据强一致性,并支持全局二级索引和多主多写。PolarDB-X开源版提供更高程度的定制化和控制权,适合追求技术自主性和成本优化的开发者。部署方式包括RPM包、PXD工具和Kubernetes,其中PXD工具提供了一键部署的便利性。
34598 10
|
4天前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
14天前
|
存储 缓存 监控
你的Redis真的变慢了吗?性能优化如何做
本文先讲述了Redis变慢的判别方法,后面讲述了如何提升性能。
102239 5
|
14天前
|
机器学习/深度学习 并行计算 算法
Transformer 一起动手编码学原理
学习Transformer,快来跟着作者动手写一个。
94253 8