iPhone iOS8:从 iOS7.1 sdk 构建并在 8.0 及更高版本的设备上运行时,UIAlertView 倒置旋转无法正常工作

Posted

技术标签:

【中文标题】iPhone iOS8:从 iOS7.1 sdk 构建并在 8.0 及更高版本的设备上运行时,UIAlertView 倒置旋转无法正常工作【英文标题】:iPhone iOS8: UIAlertView upside down rotation doesn't work fine when build from iOS7.1 sdk and run on 8.0 and above devices 【发布时间】:2014-12-03 11:38:53 【问题描述】:

任何人都知道如何为 ios 8 设备解决此问题。是 Apple 对 UIAlertview 的实施问题吗?

我正在为相同的屏幕截图。但由于信誉限制无法上传:(

【问题讨论】:

上传图片到 Dropbox 并在此处分享链接 在 willrotatefrominterfaceorientaiton 中放置一个断点并检查框架。框架中不会有任何变化。所以应该是 ui 不调用任何旋转方法。可能你必须检查你是否正在显示任何繁忙的指标以及为什么 alertview 没有按帧更新 【参考方案1】:

在 IOS8 中添加了 UIAlertController 而不是 UIAlertView

if (([[[UIDevice currentDevice] systemVersion] compare:@"8.0" options:NSNumericSearch] == NSOrderedAscending)) 
    // use UIAlertView

else 
    // use UIAlertController

[self  showAlert];




-(void)showAlert


    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"AlertView" message:nil preferredStyle:UIAlertControllerStyleActionSheet;
    UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"GO" style:UIAlertActionStyleDefault
    handler:^(UIAlertAction * action) 
    // [action doSomething];

    ];

    UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault
    handler:^(UIAlertAction * action) 
    [alert dismissViewControllerAnimated:YES completion:nil];

    ];

    [alert addAction:defaultAction];
    [alert addAction:cancel];
    [self presentViewController:alert animated:YES completion:nil];

     

尝试使用该解决方案。

【讨论】:

正如问题标题中提到的,我需要使用 7.1 SDk 构建应用程序,如果我使用 UIAlertController 它将无法编译。 对于 IOS7.1 使用 UIAlertView 对于 IOS8 使用 UIAlertController 你必须为 ios7 和 ios8 编写条件 这里我的需要是仅使用 7.1 SDK 构建应用程序。而且即使写8.0+条件的代码,7.1 SDK也会报UIAlertController的编译错误

以上是关于iPhone iOS8:从 iOS7.1 sdk 构建并在 8.0 及更高版本的设备上运行时,UIAlertView 倒置旋转无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

ios8 的 Parse 推送通知中没有声音

Xcode 6.1 - Map View在iOS7模拟器或iPhone 4中显示为空白

对于相同的 iPhone 5s,iOS 模拟器在 ios 7.1 和 ios 8.2 之间具有不同的屏幕高度

在 UILabel 中显示 HTML 文本,性能问题。 [iPhone SDK、iOS 8、Swift]

SDK“iOS 8.4”不允许临时代码签名

Swift:从 iOS 7 编译存档时出现分段错误