一,效果图。 二,代码。 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIAlertView* alert = [[UIAlertView alloc]initWithTitle:nil message:@此信息3秒后消失 delegate:nil cancelButtonTitle:nil otherButtonTitles:nil, nil]; [alert show]; [self p 在iOS开发中,`UIAlertView` 是一个常用的控件,用于显示简单的警告或提示信息。然而,有时我们希望在用户不需要进行任何操作的情况下,这个警告视图能够在一段时间后自动消失。本篇文章将详细介绍两种方法来实现在iOS中使`UIAlertView`在3秒后自动消失。 方法一:结合`NSTimer` 在第一种方法中,我们可以利用`NSTimer`来设定一个定时器,当时间到达设定值时,调用一个方法来关闭`UIAlertView`。以下是一个具体的示例: ```objc - (void)presentSheet { UIAlertView *baseAlert = nil; baseAlert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"\nMessage Message Message " delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; // 创建一个定时器,2秒后执行performDismiss:方法 [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(performDismiss:) userInfo:nil repeats:NO]; [baseAlert show]; } - (void)performDismiss:(NSTimer *)timer { if (baseAlert && baseAlert.visible) { [baseAlert dismissWithClickedButtonIndex:0 animated:NO]; [baseAlert release]; baseAlert = NULL; } } ``` 在这个例子中,我们在`presentSheet`方法中创建了一个`UIAlertView`并展示它。然后我们设置了一个`NSTimer`,在2秒后执行`performDismiss:`方法。在`performDismiss:`方法中,检查`UIAlertView`是否可见,如果可见则关闭它。 方法二:使用`performSelector:withObject:afterDelay:` 另一种实现方式是使用`NSObject`的`performSelector:withObject:afterDelay:`方法。这个方法可以在指定的时间延迟后执行一个特定的方法。下面是使用这个方法的例子: ```objc - (void)showAlert { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]; [alert show]; // 2秒后执行dismissAlert:方法,传入alertView作为参数 [self performSelector:@selector(dimissAlert:) withObject:alert afterDelay:2.0]; } - (void)dimissAlert:(UIAlertView *)alert { if (alert) { [alert dismissWithClickedButtonIndex:[alert cancelButtonIndex] animated:YES]; [alert release]; } } ``` 在这个例子中,`showAlert`方法创建并显示`UIAlertView`,然后设定2秒后调用`dismissAlert:`方法。`dismissAlert:`方法接收`alertView`作为参数,确保在正确的时间关闭它。 总结: 这两种方法都可以有效地实现`UIAlertView`在3秒后自动消失的功能。选择哪种方法取决于个人喜好和项目需求。`NSTimer`方法提供了更多灵活性,例如可以取消定时器,而`performSelector:withObject:afterDelay:`方法则更简洁。无论选择哪种方式,确保理解每个方法的工作原理,并根据实际应用进行调整。在iOS开发中,了解和掌握这些基础技巧对于提升用户体验至关重要。同时,随着iOS的更新,`UIAlertView`已经被`UIAlertController`取代,但在支持旧版本的项目中,`UIAlertView`仍然是一个有用的工具。

























- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 设备独立量子信息处理:简化分析
- CAD批量删除字符格式,解决CAD字体样式不能修改或批量修改的问题
- 工程项目管理的高效团队建设与管理.docx
- 《排列组合》专题学科网站的开发与设计-解决问题.docx
- 城市智能交通系统大数据外挂研判系统设.doc
- 基于WAVE的车载通信系统介绍.docx
- 高校大学生暑期课程活动PPT
- autojspro怎么免费用
- Synapse医学分割数据集
- B_V7.1.9a.apk
- Python编程与量子计算入门
- 人工智能深度学习Yolov7训练自己的数据集(超详细教程)对应python源码,将数据集随机按比例分为训练集、验证集和测试集 Yolov7训练自己的数
- 人工智能深度学习Yolov7训练自己的数据集(超详细教程)对应python源码,将数据集随机按比例分为训练集、验证集和测试集 Yolov7训练自己的数
- 人工智能深度学习Yolov7训练自己的数据集(超详细教程)对应python源码,将数据集随机按比例分为训练集、验证集和测试集 Yolov7训练自己的数
- DDR4协议+DFI协议,解救资源分不够的兄弟们
- DDR4协议+DFI协议,解救资源分不够的兄弟们


