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 倒置旋转无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 6.1 - Map View在iOS7模拟器或iPhone 4中显示为空白
对于相同的 iPhone 5s,iOS 模拟器在 ios 7.1 和 ios 8.2 之间具有不同的屏幕高度