先说一下今天犯的错误,由于是写Demo,直接把UIAlertController写在了ViewDidLoad中了,结果并没有出现提示框,且导致了以下错误:

上网查了一下,原因是PresentViewController的时候,ViewDidLoad还没有执行完成.所以必须要想办法延时加载才行.我加了一个Button,点击之后才出现提示框,这样就好了.
UIButton * btn =[UIButton buttonWithType:UIButtonTypeSystem];
btn.frame = CGRectMake(50, 50, 80, 40);
[btn setTitle:@"弹出" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
ios9中,
UIAlertController 替代了 UIAlertView 和 UIActionSheet ,下面就介绍一下 UIAlertController.
-(void)btnClick
{
//初始化提示框
UIAlertController * alert =[UIAlertController alertControllerWithTitle:@"Test" message:@"abcdefg" preferredStyle:UIAlertControllerStyleAlert];
/*
* UIAlertControllerStyleActionSheet 是显示在屏幕底部
* UIAlertControllerStyleAlert 是显示在中间
*/
//创建按钮 UIAlertActionStyle方式有三种 常规(default)、取消(cancel)以及警示(destruective)。
UIAlertAction * cancel =[UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * action){
//点击按钮的响应事件
NSLog(@"cancel");
}];
UIAlertAction * commit =[UIAlertAction actionWithTitle:@"commit" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){
NSLog(@"commit");
}];
// UIAlertAction * destructive =[UIAlertAction actionWithTitle:@"destructive" style:UIAlertActionStyleDestructive handler:nil];
//添加按钮
[alert addAction:cancel];
[alert addAction:commit];
// [alert addAction:destructive];
//显示
[self presentViewController:alert animated:YES completion:nil];
}
成功后 即
希望帮助到你们.
|