iOS 开发中经常会遇到需要弹窗提示的情况(这个再浏览器端我们经常会遇到)
如下图:
这个是怎么实现的了?
其实很简单iOS提供一个类 UIAlertView
我们使用他即可
UIAlertView *alertV=[[UIAlertView alloc]initWithTitle:@"alert标题" message:@"alertMesaage" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; [alertV show];
下来我们看下最后一个参数,ohterButtonTitles 他是可以输入多个值的,比如:
UIAlertView *alertV=[[UIAlertView alloc]initWithTitle:@"alert标题" message:@"alertMesaage" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"第一次",@"第二次",@"第三次", nil]; [alertV show];
界面是现实出来 但是最红我们还是要使用他的,问题就来了 我们点击取消 还是确定
这个时候我们回头看刚才的方法里面 有个Delegate 我们设置的self 那么是不是又用到代理了
是的,万能的代理又出现了
我们需要实现一个协议UIAlertViewDelegate
我们实现一个方法用来监测 alert 点击了哪个选项
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
此时我们需要给当前类添加协议
@interface ViewController ()<UIAlertViewDelegate>
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { switch (buttonIndex) { case 0:{ NSLog(@"取消"); } break; case 1:{ NSLog(@"第一次"); } break; case 2:{ NSLog(@"第二次"); } break; case 3:{ NSLog(@"第三次"); } break; default: break; } }
好了 基本完成
苹果开发群 :414319235 欢迎加入 欢迎讨论问题