UIAlertView 已弃用:首先在 iOS 9.0 中弃用 - UIAlertView 已弃用。将 UIAlertController 与首选样式一起使用
Posted
技术标签:
【中文标题】UIAlertView 已弃用:首先在 iOS 9.0 中弃用 - UIAlertView 已弃用。将 UIAlertController 与首选样式一起使用【英文标题】:UIAlertView is deprecated : first deprecated in iOS 9.0 - UIAlertView is deprecated. Use UIAlertController with a preferredStyle 【发布时间】:2017-01-03 09:00:34 【问题描述】:如何更改适合上述ios 9
的obj c 代码?当我将 X Code 更新到 8.2.1 时出现此错误。代码如下
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"Continue"])
NSLog(@"Continue...");
[self performSegueWithIdentifier:@"createlogin" sender:self];
错误:
UIAlertView 已弃用:在 iOS 9.0 中首次弃用 - UIAlertView 已弃用。将 UIAlertController 与 preferredStyle 一起使用 UIAlertControllerStyleAlert 代替
谢谢。
【问题讨论】:
UIAlertView first deprecated IOS 9的可能重复 【参考方案1】: UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"Add Title" message:@"Add Message" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction * actionOK = [UIAlertAction actionWithTitle:@"Button Title" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action)
//Here Add Your Action
];
UIAlertAction * actionCANCEL = [UIAlertAction actionWithTitle:@"Second Button Title" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action)
//Add Another Action
];
[alert addAction:actionOK];
[alert addAction:actionCANCEL];
[self presentViewController:alert animated:YES completion:nil];
如果有需要请使用此方法,更多信息请使用此链接http://useyourloaf.com/blog/uialertcontroller-changes-in-ios-8/
【讨论】:
【参考方案2】:使用此代码
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction * continueButton = [UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action)
[self performSegueWithIdentifier:@"createlogin" sender:self];
];
UIAlertAction * cancelButton = [UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action)
];
[alert addAction:continueButton];
[alert addAction:cancelButton];
[self presentViewController:alert animated:YES completion:nil];
【讨论】:
【参考方案3】:试试这个:
UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"Your message title"
message:@"Enter your message here."
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action)
NSLog(@"Ok Action");
];
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Skip" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action)
NSLog(@"Cancel Action");
];
[controller addAction:okAction];
[controller addAction:cancelAction];
[self presentViewController:alertController animated:YES completion:nil];
【讨论】:
以上是关于UIAlertView 已弃用:首先在 iOS 9.0 中弃用 - UIAlertView 已弃用。将 UIAlertController 与首选样式一起使用的主要内容,如果未能解决你的问题,请参考以下文章
thumbnailImageAtTime:timeOption 已弃用:首先在 iOS 7 中弃用
sendAsynchronousRequest 在 iOS 9 中已弃用,如何更改代码以修复