参考了这篇帖子:UIAlertView的API介绍
今天开始做IOS的UI部分,从最简单的UIAlertView开始学习
-(void) listenBackupStartEvent:(NSNotification*) notification
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"确认备份?" delegate:backupViewDelegate cancelButtonTitle:@"取消" otherButtonTitles:@"确定",nil];
alert.tag = 0;
[alert show];
}
上面的代码在运行时创建一个UIAlertView,其他的UI控件也可以采用类似的方式添加到View里,不依赖Storyboard。这里我把delegate设为另一个对象,而不是当前的ViewController,因为我不希望ViewController太庞大。不过这种方式,当delegate需要调用view controller里的方法或实例变量的时候,会比较麻烦点
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if(alertView.tag == 0){
switch (buttonIndex) {
case 0:{
break;// cancel button, nothing to do
}
case 1:{
[viewController.backupDelegate performSelectorInBackground:@selector(doBackup) withObject:nil];
break;
}
default:
break;
}
return;
}
}
这个是delegate的方法,实现了UIAlertViewDelegate协议,不过目前只实现了其中的一个方法。第一个参数是当前的UIAlertView,通过tag来标识。所以如果多个UIAlertView共享一个delegate的话,就会有多个if块
第二个参数是当前被点击的button index,根据这个值来判断是哪个按钮被按下,索引从0开始
当然,delegate的方法都是跑在UI Thread里的,所以要小心block主线程
分享到:
相关推荐
1.系统的UIAlertView使用方便,但是有时需要三个按钮,这时的UIAlertView会出现问题,三个按钮的默认摆放位置,不尽人意 2.使用UIAlertView的Delegate,来修改其布局
UIAlertView 的替代品
封装体统的UIAlertView,使用Block传递数据。
自定义 UIAlertView
一个简单的封装UIalertView,可以达到展示列表的目的
swift - UIAlertView的使用
因为iOS8 以后UIAlertView已经不推荐使用 所以自己简单封装了一下UIAlertView 和 UIAlertController 根据系统自动选择 封装的比较简单 为了方便使用而已
https://github.com/STShenZhaoliang/STAlertView 400行写的自定义UIAlertView,没有开太多接口,大家可以自由修改。
iOS / Objective C:一种非常简单的UIAlertView替代方案..zip,ios/objective c:一个非常简单的uialertview替代方案
UIAlertView自动消失,原文地址:http://blog.csdn.net/u010962810/article/details/21245785
UIAlertView左对齐 UIAlertView左对齐
UIAlertView例子 包括最基础的,和按钮事件,以及带文本输入的Alert
UIAlertView左对齐且居中显示,兼容>ios7,添加该两个文件,直接调用方法[alertView setTextAlignmentLeft];则可
ios7 自定义UIAlertView ios7 UIAlertView 弹出 警告 自定义 简单实用。 支持转屏
项目中用到带有带有UITableView的UIAlertView,刚开始的做法 是 UIAlertView 的基础上addsubview上UITableView,UITableView的大小固定,但是 出现 横屏的时候 UITableView跟UIAlertView的大小不搭配了 ,后来自定义...
iphone中的基础控件UIAlertView,适合初学者,主要学习UIAlertView的常用属性设置、点击事件、添加其他视图到UIAlertView上等
let alrtView = ChoiceAlrtView() @IBAction func OutLogin(_ sender: UIButton) { alrtView.showChoice(str: "确认退出吗") alrtView.resualtBlock = {(isTrue : Bool) in if isTrue { print("是") ...
UIALertView 是一款第三方空间,很好用的
UIAlertView,UIActionSheet,UIAlertController封装,一句代码即可,iOS任何系统都可以使用 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目...