ios8 – 当屏幕处于横向模式时,UIAlertview以纵向模式显示

ios8 – 当屏幕处于横向模式时,UIAlertview以纵向模式显示,第1张

概述我有一个配置为仅支持纵向模式的应用程序.但是我必须在横向模式下在我的应用程序中显示一个屏幕(例如abcViewController).按下abcViewController屏幕时,方向从纵向模式更改为横向模式.在该abcViewController屏幕statusBar中,所有图像,按钮都以横向模式显示,但UIAlertView显示在PortraitMode中.    这意味着视图中的所有内容都会 我有一个配置为仅支持纵向模式的应用程序.但是我必须在横向模式下在我的应用程序中显示一个屏幕(例如abcVIEwController).按下abcVIEwController屏幕时,方向从纵向模式更改为横向模式.在该abcVIEwController屏幕statusbar中,所有图像,按钮都以横向模式显示,但UIAlertVIEw显示在PortraitMode中.
   这意味着视图中的所有内容都会更改为abcVIEwController中的横向模式,但UIAlertVIEw不会旋转到横向模式并保持纵向模式.
我希望UIAlertVIEw遵循包含视图控制器的规则并显示与statusbar相同的方向.

注意:我使用Xcode 5.0在iOS 8.0上运行我的应用程序,我正在寻找支持Xcode 5.0的解决方案

解决方法 实际上,我以编程方式为iOS 7和更早版本的iOS版本旋转了这个类的UIVIEw和状态栏,但我在iOS 8中遇到了这个方向问题,然后我读了一个与给定方向相关的iOS 8的新变化下面:

我在iOS 7和iOS 8中运行了以下代码:

UIInterfaceOrIEntation orIEntation = [[UIApplication sharedApplication] statusbarOrIEntation];BOol landscape = (orIEntation == UIInterfaceOrIEntationLandscapeleft || orIEntation == UIInterfaceOrIEntationLandscapeRight);NSLog(@"Currently landscape: %@,wIDth: %.2f,height: %.2f",(landscape ? @"Yes" : @"No"),[[UIScreen mainScreen] bounds].size.wIDth,[[UIScreen mainScreen] bounds].size.height);

以下是iOS 8的结果:

Currently landscape: No,wIDth: 320.00,height: 568.00Currently landscape: Yes,wIDth: 568.00,height: 320.00

与iOS 7中的结果相比:

Currently landscape: No,height: 568.00

所以,我知道[UIScreen mainScreen] .bounds.size在iOS8中变为取向依赖.

在阅读iOS 8的这一新变化后,我为iOS 8创建了一个新类,因此您有两个解决此问题的方法.

解决方案1:您应该使用UIAlertController而不是UIAlertVIEw.

解决方案2:您可以为iOS 8创建一个面向此方向问题的新类.

总结

以上是内存溢出为你收集整理的ios8 – 当屏幕处于横向模式时,UIAlertview以纵向模式显示全部内容,希望文章能够帮你解决ios8 – 当屏幕处于横向模式时,UIAlertview以纵向模式显示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1043464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存