iphone – UIOrientation返回0或5

iphone – UIOrientation返回0或5,第1张

概述我正在运行一个简单的函数,可以在多个区域调用,以帮助在方向更改期间处理iPad应用程序上的布局.它看起来像这样: - (void) getWidthAndHeightForOrientation:(UIInterfaceOrientation)orientation { NSLog(@"New Orientation: %d",orientation);end 我在各种各样的地方称它为: 我正在运行一个简单的函数,可以在多个区域调用,以帮助在方向更改期间处理iPad应用程序上的布局.它看起来像这样:

- (voID) getWIDthAndHeightForOrIEntation:(UIInterfaceOrIEntation)orIEntation {    NSLog(@"New OrIEntation: %d",orIEntation);end

我在各种各样的地方称它为:

[self getWIDthAndHeightForOrIEntation: [[UIDevice currentDevice] orIEntation]];

该函数通常有一些简单的代码,如果方向是纵向或横向,则运行.不幸的是,当应用程序以位置1启动时,它没有按预期工作.结果我得到0.稍后如果以相同的方式调用该函数但该设备从未被旋转,则返回值5.这是什么意思?为什么会抛出这些值?

简而言之,为什么[[UIDevice currentDevice] orIEntation]会抛出0或5而不是1到4之间的任何值?

更新:

因为处理方向的方式我在代码中不断发现错误,所以我写了一篇关于如何处理UIDevice或UIInterface方向的权威帖子:http://www.donttrustthisguy.com/orientating-yourself-in-ios

解决方法 我建议使用UIDeviceOrIEntationIsValIDInterfaceOrIEntation(orIEntation)

它会告诉你它是否是有效的方向(有效的是横向或纵向,而不是FaceUp / FaceDown / UnKNown).然后你就可以把它看作是它的肖像,如果它的未知.

我是这样做的:

if (UIDeviceOrIEntationIsValIDInterfaceOrIEntation(interfaceOrIEntation) && UIInterfaceOrIEntationIsLandscape(interfaceOrIEntation)) {    // handle landscape} else {    // handle portrait}
总结

以上是内存溢出为你收集整理的iphone – UIOrientation返回0或5全部内容,希望文章能够帮你解决iphone – UIOrientation返回0或5所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1081289.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存