首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么UIAlertController in iOS7得到零值?

为什么UIAlertController in iOS7得到零值?
EN

Stack Overflow用户
提问于 2014-11-03 08:00:12
回答 3查看 1.1K关注 0票数 3

为什么UIAlertController在iOS7中得到零值,而需要提供但是在iOS8中工作是好的,我可以知道这是因为iOS7不支持UIAlertController类吗?

代码语言:javascript
复制
UIAlertController *view=[UIAlertController
                        alertControllerWithTitle:@"Hello"
                        message:nil
                        preferredStyle:UIAlertControllerStyleAlert];

 [self presentViewController:view animated:NO completion:nil];
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-03 08:10:14

这些类仅在iOS8和更高版本中可用。见类引用

票数 4
EN

Stack Overflow用户

发布于 2014-11-03 09:08:53

为了在AlertView和较低版本中显示iOS 8,可以使用以下代码:

代码语言:javascript
复制
if ([self isiOS8OrAbove]) {
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
                                                                             message:message
                                                                      preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK"
                                                       style:UIAlertActionStyleDefault
                                                     handler:^(UIAlertAction *action) {
                                                         [self.navigationController popViewControllerAnimated:YES];
                                                     }];

    [alertController addAction:okAction];
    [self presentViewController:alertController animated:YES completion:nil];
} else {
    UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:title
                                                         message:message
                                                        delegate:nil
                                               cancelButtonTitle:@"OK"
                                               otherButtonTitles: nil];
    [alertView show];
    [self.navigationController popViewControllerAnimated:YES];
}

- (BOOL)isiOS8OrAbove {
    NSComparisonResult order = [[UIDevice currentDevice].systemVersion compare: @"8.0"
                                                                       options: NSNumericSearch];
    return (order == NSOrderedSame || order == NSOrderedDescending);
}
票数 3
EN

Stack Overflow用户

发布于 2015-02-02 11:21:31

您可能正在使用比iOS 8更少的os版本。

如果您使用Xcode 6编译代码,并使用iOS版本< 8.0的设备,那么您将面临这个问题。我建议如下

代码语言:javascript
复制
- (void)showXYZAlert
{
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"))
    {
        // Handle UIAlertController
        [self showXYZAlertController];
    }
    else
    {
        // Handle UIAlertView
        [self showXYZAlertControllerView];
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26710018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档