Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UI自动旋转仅在某些设备上有效?_Iphone_Uitabbarcontroller_Orientation - Fatal编程技术网

Iphone UI自动旋转仅在某些设备上有效?

Iphone UI自动旋转仅在某些设备上有效?,iphone,uitabbarcontroller,orientation,Iphone,Uitabbarcontroller,Orientation,我有一个非常有趣(但非常恼人)的UI自动旋转问题。我正在开发一个包含tabbar控制器的应用程序,其中有两个导航控制器作为选项卡项。其中一个控制器允许自动旋转到横向模式 有趣的是,它在模拟器和我自己的设备上都能完美工作,但在其他测试设备上却不起作用。所有设备都是相同的-iPhone 3G 16 GB,操作系统版本3.1.3 当我在控制台中查找报告方向更改事件的日志消息时,我只能在我的设备上再次找到它,但在其他设备上找不到,所以其他设备似乎根本不报告方向更改。另一方面,这是非常不可能的,因为其他应

我有一个非常有趣(但非常恼人)的UI自动旋转问题。我正在开发一个包含tabbar控制器的应用程序,其中有两个导航控制器作为选项卡项。其中一个控制器允许自动旋转到横向模式

有趣的是,它在模拟器和我自己的设备上都能完美工作,但在其他测试设备上却不起作用。所有设备都是相同的-iPhone 3G 16 GB,操作系统版本3.1.3

当我在控制台中查找报告方向更改事件的日志消息时,我只能在我的设备上再次找到它,但在其他设备上找不到,所以其他设备似乎根本不报告方向更改。另一方面,这是非常不可能的,因为其他应用程序工作正常。。。另外,在我的手机上使用的一些其他功能在其他设备上也不起作用(例如,在tableview中处理触摸事件)

我从来没有见过这样的东西,也找不到任何理由说明它为什么不能以同样的方式在所有设备上工作!所以问题是——我是疯了还是怎么了

我使用UITabBarViewController的子类和重写的方法

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) toInterfaceOrientation {
    BOOL shouldRotate = (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft);

    NSLog(@"Should rotate: %d", shouldRotate);
    return shouldRotate;
}
然后我用各自的方法(willRotate…,willAnimateRotation…)处理方向更改动画。但正如我所说,它在我的设备上运行良好,但在其他设备上,永远不会调用shouldAutorotateToInterfaceOrientation:方法。奇怪


在我进入疯人院之前,请给我一些提示。谢谢你的提示。

你有没有检查过在非工作设备上旋转是否有效(在任何其他应用程序中)?也许加速度计坏了。我写道:“……另一方面,这不太可能,因为其他应用程序工作正常。”。所以-是的,轮换在其他应用程序中有效。这就是让我心烦的原因。