UI控件篇——UIActionSheet(操作表)和UIAlertView(警告框)
2011-12-20 16:49 张智清 阅读(2837) 评论(3) 编辑 收藏 举报UIActionSheet用于迫使用户在两个或更多的选项之间进行选择的模式视图。操作表是从屏幕底部弹出,显示一系列按钮供用户选择,用户只有单击一个按钮后才能继续使用应用程序。(可以理解为桌面应用系统的右键菜单的功能)
UIAlertView警告默认是以蓝色圆角矩形形式显示在屏幕中央,警告框可显示一个或多个按钮。
为了让控制器类充当操作表的委托,控制器需要遵从UIActionSheetDelegate协议。
一、UIActionSheet(操作表)的创建
带标题名称来初始化创建UIActionSheet表:initWithTitle
initWithTitle: delegate: cancelButtonTitle: destructiveButtonTitle: otherButtonTitles:
对于在某个视图中显示出创建好的UIActionSheet,则要用到showInView:这个方法。当我们是采用自定义创建的操作表时,则该操作表中的按钮必须实现UIActionSheetDelegate协议函数,以控制在点击按钮之后的操作。如:
- (void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if(buttonIndex == 0) {
//NSLog(@"ok");
}
else {
//NSLog(@"cancel");
}
}
二、UIAlertView (警告框)的创建
带标题名称来初始化创建UIAlertView警告:initWithTitle
initWithTitle: message: delegate: cancelButtonTitle: otherButtonTitles:
要显示创建好的UIAlertView警告框只要调用show方法即可。自定义警告框中的按钮要实现UIAlertViewDelegate协议函数,总之,UIAlertView实例要响应按钮点击,至少需要该委托的支持。此处可以控制在点击按钮之后的操作。如:
- (void)alertView: (UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
//use "buttonIndex" to decide your action
}
注意:使用非自动释放警告框时,要确保有一个委托负责在用户点击按钮时释放警告框!!
警告框扩展应用:给UIAlertView添加子视图(示例为添加一个活动指示符)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"UIAlertView" message:nil delegate:nil cancelButtonTitle:nil otherButtonTitle:nil];[alert show];
UIActivityIndicatorView *activeView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activeView.center = CGPointMake(alert.bounds.size.width/2.0f, alert.bounds.size.height-40.0f);
[activeView startAnimating];
[alert addSubview:activeView];
[activeView release];
[alert release];
// Auto dismiss after 3 seconds for this example
[self performSelector:@selector(performDismiss) withObject:nil afterDelay:3.0f];
当然若是自定义创建的是无按钮警告框则必须实现手动让其消失(因为它一般不会正确回调委托方法,则不会自动消失)。具体就是调用dismissWithClickedButton Index: animated:来实现。
- (void)performDismiss {
[alert dismissWithClickedButton Index:0 animated:NO];
}
另外UIActivityIndicatorView实例提供了很多轻量级视图,它们显示一个标准的旋转进度轮。其中不同风格的UIActivityIndicatorView类使用场合不同。UIActivityIndicatorViewStyleWhite和UIActivityIndicatorViewStyleGray的大小是20x20像素。而UIActivityIndicatorViewStyleWhiteLarge提供了一个最大、最清晰的指示器,为37x37像素。通过发送startAnimating启动指示器。要停止则调用stopAnimating。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库