UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

2023-11-09

首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。

具体代码如下:

ViewController.h中的代码如下:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIAlertViewDelegate>

@end

ViewController.m中的详细代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib
    
    //初始化AlertView
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AlertViewTest"
                                                   message:@"message"
                                                  delegate:self
                                         cancelButtonTitle:@"Cancel"
                                         otherButtonTitles:@"OtherBtn",nil];
    //设置标题与信息,通常在使用frame初始化AlertView时使用
    alert.title = @"AlertViewTitle";
    alert.message = @"AlertViewMessage";
    
    //这个属性继承自UIView,当一个视图中有多个AlertView时,可以用这个属性来区分
    alert.tag = 0;
    //只读属性,看AlertView是否可见
    NSLog(@"%d",alert.visible);
    //通过给定标题添加按钮
    [alert addButtonWithTitle:@"addButton"];
    //按钮总数
    NSLog(@"number Of Buttons :%d",alert.numberOfButtons);
    //获取指定索引的按钮标题
    NSLog(@"buttonTitleAtIndex1:%@",[alert buttonTitleAtIndex:1]);
    NSLog(@"buttonTitleAtIndex2:%@",[alert buttonTitleAtIndex:2]);
    //获取取消按钮的索引
    NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex);
    //获取第一个其他按钮的索引
    NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex);
    //显示AlertView
    [alert show];
    [alert release];
}

#pragma marks -- UIAlertViewDelegate --
//根据被点击按钮的索引处理点击事件
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"clickButtonAtIndex:%d",buttonIndex);
}

//AlertView已经消失时执行的事件
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"didDismissWithButtonIndex");
}

//ALertView即将消失时的事件
-(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"willDismissWithButtonIndex");
}

//AlertView的取消按钮的事件
-(void)alertViewCancel:(UIAlertView *)alertView
{
    NSLog(@"alertViewCancel");
}

//AlertView已经显示时的事件
-(void)didPresentAlertView:(UIAlertView *)alertView
{
    NSLog(@"didPresentAlertView");
}

//AlertView即将显示时
-(void)willPresentAlertView:(UIAlertView *)alertView
{
    NSLog(@"willPresentAlertView");
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}
原文链接 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法 的相关文章

  • coreplot 栏点击不工作

    我从 Github 下载了这段代码 https github com gilthonweapps CorePlotBarChartExample https github com gilthonweapps CorePlotBarChart
  • IOS - 如何创建具有模糊背景的 Facebook 反应栏?

    虽然这周可能不会复制 Facebook 的某些设计 但我希望能够设计我自己的下面的反应指示器视图版本 我有三个UIImageViews 排列在与上面相同的位置 问题是 与 Facebook 不同 背景颜色可能会改变 即位于UIBlurEff
  • AVAudioSessionPortBluetoothHFP、A2DP 和 LE 有什么区别?

    Apple 中记录了三种不同的蓝牙相关音频端口类型AVAudioSessionPort 描述 https developer apple com library ios documentation AVFoundation Referenc
  • 无法识别的选择器发送到类

    我已经看到 这是一个常见问题 但我自己找不到任何解决方案 这是代码 class ButtonViewController UIViewController override func viewDidLoad super viewDidLoa
  • iOS Facebook SDK - 远程定义 FacebookAppID

    使用iOS Facebook SDK 3 0 需要在应用程序的info plist中定义FacebookAppID和相关的URL Scheme 我想远程定义这些 向我自己的服务器请求应用程序 ID 所以有两个不同的问题 我可以在运行时更改应
  • 使用 UIControl (特别是 UIButton)时如何对目标进行排序?

    在我的应用程序中我有多个UIButtons我为此添加了目标 事实证明 首先执行最近添加的目标 然后执行其余的目标 例如 采用以下代码 button addTarget self action selector someAction forC
  • 使用仪器分配时 iOS 应用程序冻结

    当我想使用 Instruments Allocation 来分析应用程序的内存使用情况时 它在启动后立即冻结 它总是停留在启动屏幕 这是一个 Xamarin forms 应用程序 这是屏幕截图 其他信息 如果我创建一个新项目 然后使用 In
  • MFMailComposeViewController 立即关闭

    情况是 MFMailComposeViewController 将被呈现 我看到它已经完成了一半 但后来就被驳回了 这是错误 serviceViewControllerReady 错误 错误域 UIViewServiceInterfaceE
  • AUGraph 在 iOS 上是否已被弃用?如果是的话,什么时候?

    我听到过这样的传言AUGraph在 iOS 上已被弃用 例如这篇推特帖子 https twitter com marcoarment status 878323409339338753 marcoarment 您对 atpfm 关于需要重写
  • 如何正确设置UIView的alpha? [iOS]

    I have UIView有很多子视图 UILabel UITextView 等 如果为主视图设置 alpha 0 6 则所有子视图均采用此 alpha 如何单独设置主视图的alpha view setBackgroundColor UIC
  • WKWebView 中的调整大小处理程序中的 window.innerWidth/Height 未更新

    我有一些全屏网页内容 当窗口使用调整大小事件更改大小时 我会更新这些内容 window onresize function var width window innerWidth var height window innerHeight
  • swift 中 pch 的替代品是什么?

    我想知道可以用什么来代替 swift 中的 pch 有没有 pch 的替代方案或方法可以快速摆脱导入 这样我们就不需要对所有类都这样做 我不想一直随身携带 进口 swift 中 pch 的最佳替代品是什么 您无法在 swift 中定义 宏
  • 在 iPhone 上搜索 PDF

    经过两天尝试使用 Quartz 从 PDF 中读取注释后 我成功做到了并且发布我的代码 https stackoverflow com questions 4080373 get pdf hyperlinks on ios with qua
  • 在 swift ios 中播放远程 mp3 文件需要花费大量时间

    我有麻烦了 我想在我的应用程序中播放远程 mp3 文件 但 mp3 文件需要很长时间 大约 5 6 分钟 来播放 为什么 任何人都可以建议我应该做什么 import UIKit import AVFoundation class TestV
  • 应用程序:didReceiveRemoteNotification:未调用 fetchCompletionHandler

    出现了这个功能application didReceiveRemoteNotification fetchCompletionHandler当应用程序被强制退出时不会被调用 我的印象是 无论应用程序处于什么状态 该函数都会被调用 但似乎只有
  • 如何处理 iPhone 6S Plus 字体大小?

    与其他屏幕尺寸相比 iPhone 6S Plus 的屏幕非常大 我似乎无法找到一种在不以编程方式调整大小的情况下处理标签字体大小的好方法 如何调整标签的字体大小 使其在 iPhone 5 上看起来更小 在 iPhone 6 Plus 上看起
  • 带有 Retina-Tiles 的 MKTileOverlay

    我在 MKMapKit 中加载 512x512px 图块时遇到问题 服务器提供 512x512 jpeg 图块 我在 MKMapView 中找不到自定义视网膜图块的任何解决方案或示例实现 我做什么 当我将它们加载到 MKMapView 中时
  • 在 iOS 中,如何以编程方式填写 pdf 表单字段?

    我需要获取一个现有的 pdf 文件 并以编程方式填写带有文本的表单字段列表 然后保存 pdf 而不将其显示给用户 例如 如果 pdf 文件包含名为 LastName 和 FirstName 的字段 我想将 FirstName 的值设置为 L
  • iOS 低内存崩溃,但内存使用率非常低

    这已经困扰我很长时间了 我的应用程序运行占用大约 2 74MB 内存 没关系 但当它创建 UIWebView 时 它会增加到大约 5 87MB 并继续崩溃 这些是在我的第一代 iPad 上运行时仪器中的实时字节下给出的值 我找不到崩溃日志
  • iOS 5 UIView drawRect 覆盖在设备上不起作用

    我正在准备在 iOS 5 GM 上发布我的 iPhone 应用程序 并遇到了 UIView 的错误 当我在子类上重写 drawRect 方法时 模拟器会显示所需的结果 但当我尝试在实际设备上测试时 drawRect 重写根本没有任何效果 我

随机推荐

  • ansible 一键部署 kubernetes高可用框架

    ansible 一键部署 kubernetes高可用框架 kube router版 分享一个自己写的k8s搭建项目 github https github com Fear2014 kubernetes ansible deploy 框架说
  • 2021-06-10

    NFS Network File System 网络文件系统 是FreeBSD支持的文件系统中的一种 它允许网络中的计算机 不同的计算机 不同的操作系统 之间通过TCP IP网络共享资源 主要在unix系列操作系统上使用 在NFS的应用中
  • Android开发插件化来龙去脉(附全套学习视频)(1),app架构图

    Step3 通过反射获取到pluginClassLoader中的pathList字段 Object pluginDexPathList ReflectUtil getField BaseDexClassLoader class plugin
  • pyltp实现NER以及实体统计

    pyltp实现NER以及实体统计 人工智能火热 NLP技术也蓬勃发展 今天主要讲述NLP中的一项基础任务NER的实现 首先介绍一下NER 命名实体识别 Named entity recognition 是NLP的一项子任务 旨在实现从文本中
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 目标跟踪(1)SORT Windows实战+代码解析

    1 Windows实战 下载代码 解压文件 安装SORT所需的环境 进入到sort环境下 pip install r requirements txt 有两种使用方式 1 不基于视频 python sort py 2 基于视频 先下载视频
  • V神入围时代杂志2021年100位最具影响力人物名单

    人们的目光总是会关注那些与众不同的 天才 很多孩子少年时展现天赋 但长大之后有些不尽如人意 让人忍不住 伤仲永 不过有些天才 却一直在 神坛 上让人仰望 9月15日晚上 时代 杂志正式公布了2021年最具影响力100人名单 以太坊创始人Vi
  • python 通达信自动下载收盘和财务数据

    python 通达信自动下载收盘和财务数据 自动启动通达信 鼠标自动操作 通达信直接从官网下载免费版 可下载财务数据 自动识别屏幕尺寸 目前为1440x900 1920x1080 1366 768 三种 代码 try 下面需替换为自己电脑上
  • Vue vue.config.js 的详解与配置

    Vue的 vue config js 配置 1 为什么要配置 vue config js 由于 vue cli 3 也学习了 rollup 的零配置思路 所以项目初始化后 没有了以前熟悉的 build 目录 也就没有了 webpack ba
  • 我的世界服务器怎么开维修,我的世界服务器怎么开?

    我的世界服务器游戏规则指令 详细 1 achievement give 玩家名 用于赐予玩家成就 2 blockdata 用于编辑指定坐标的数据标签 3 clear 物品 数据 清空该玩家的物品栏 或只清除特定的物品 4 difficult
  • 在eclipse中使用MyBatisGenerator方法

    方法一 1 直接在pom xml文件中引入mybatis generator maven plugin
  • 使用EasyPoi实现Excel的按模板样式导出

    模板文件 1690342020350导出测试 xlsx 导出文件 如下 1 横向遍历 fe 使用 fe命令可以实现集合数据的横向拓展 比如模板代码是 fe maths t score 导出的excel里面就会显示会自当前列 向右拓展 效果可
  • 计算机程序设计员( 国家职业标准三级),计算机程序设计员国家职业标准

    计算机程序设计员国家职业标准 计算机程序设计员国家职业标准 1 职业概况 1 1职业名称 计算机程序设计员 1 2职业定义 利用现代信息技术 从事计算机软件编制和设计工作的人员 1 3职业等级 本职业共设三个等级 分别为 程序员 国家职业资
  • 【数据结构】长篇详解堆,堆的向上/向下调整算法,堆排序及TopK问题

    文章目录 堆的概念 性质 图解 向上调整算法 算法分析 代码整体实现 向下调整算法 算法分析 整体代码实现 堆的接口实现 初始化堆 销毁堆 插入元素 删除元素 打印元素 判断是否为空 取首元素 实现堆 堆排序 创建堆 调整堆 整合步骤 To
  • linux vscode 安装与配置 简单的程序例子

    linux vscode 安装与配置 简单的程序例子 关于vscode 这里说三个要点 1 下载与安装 2 插件 3 编译配置 下载与安装 首先去官网下载文件 https code visualstudio com docs dv linu
  • 一、MapReduce已死,Spark称霸

    一 MapReduce已死 Spark称霸 2014 09 17 11 20 王家林 Spark亚太研究院 字号 T T 综合评级 想读 35 在读 13 已读 2 品书斋鉴 0 已有50人发表书评 Spark亚太研究院系列丛书 Spark
  • 诺贝尔物理学奖揭晓! 4问题搞懂「上帝粒子」

    转载至 http www cw com tw article article action id 5052826 page 1 继诺贝尔医学奖公布之后第二天 诺贝尔基金会再度公布物理学奖 由现年84岁的英国物理学家彼得 希格斯 Peter
  • springcloud阿里巴巴五大组件_阿里巴巴有哪些好玩的分布式开源框架?

    点击上方程序大视界 关注后置顶或者星标 原创不易 且行且珍惜 01 前言 开源项目起初由国外一些工程师发起 最著名的开源社区及私有软件项目的托管平台GitHub 由国外Chris Wanstrath创办从一个开发者社区变成了一个免费开源代码
  • GPIO模拟脉冲驱动步进电机

    引脚 PUL lt gt VCC 3 3v PUL lt gt PA6 DIR lt gt VCC 3 3v DIR lt gt PB12 ENA lt gt VCC 3 3v ENA lt gt PB15 按键 控制使能 PE6 控制方向
  • UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

    首先 视图控制器必须得实现协议UIAlertViewDelegate中的方法 并指定delegate为self 才能使弹出的Alert窗口响应点击事件 具体代码如下 ViewController h中的代码如下 import