2011-04-06 70 views
2

这是非常简单的事情,但它使我发疯,无法弄清楚。UIScrollView不会旋转到风景

这是非常简单的,见下文

我的应用程序不会自动旋转解决方案。它只是卡在肖像。

我的AppDelegate创建一个viewController女巫shouldAutorotate uncommented只是返回yes。

我的viewController设置scrollview(x)作为它的视图,并添加一个子类自定义滚动视图(y)作为它的子视图。

比scrollview(y)增加UIView作为它的子视图。这个UIView作为一个内容视图,并有1个或多个其他UIViews作为子视图。

所以:AppDelegate中 - >滚动视图(X) - >滚动视图(Y) - >的UIView - >为1以上的UIView的

我有当shouldAutorotate被称为线显示。当应用程序加载完成时,这发生两次。当我旋转模拟器时,没有任何反应,shouldAutorotate不会被调用,因为我没有看到在我的日志中显示的行。

UIScrollview上有一个属性阻止它旋转吗?

更新:我刚刚更改了我的plist.info以启动横向应用程序。现在,该应用停留在横向上,不会旋转为纵向。

FYI:我没有使用接口构建器,所有代码都完成了。

+0

Scrollviews可以正常转动。我刚刚创建了一个简单的基于视图的应用程序,并将滚动视图添加到xib的视图。刚添加shouldAutoRotate ...到viewController。 – 2011-04-06 19:49:52

+0

感谢尼克,我也测试过。基本上我的应用程序遵循Apple的PhotoScroller示例。一旦添加了shouldAutorotate方法,该示例也会旋转。 – DIJ 2011-04-06 19:56:19

+0

但是你的应用程序不正确?你使用的是像git这样的一些版本控制软件吗?当应用程序非常简单时返回一些步骤可以帮助并查看轮换是否有效。 – 2011-04-06 19:59:07

回答

1

解决方案:原来我有点记忆保守。在我的应用程序委托中,我将创建一个viewController的实例,将其添加到窗口中,然后将其添加到窗口中,并将其添加到窗口中,以便不再需要它。馊主意。 因此shouldAutorotate消息被发送到一个不再存在的对象。在我的控制台中,我收到了一条消息,要求我发送一条消息到一个发布的对象,但在旋转模拟器后只有几秒钟(20左右)。

我了解到,您应该参考始终保持你的“主/根的viewController”作为一个实例变量中的appDelegate

+0

感谢您发布解决方案,您可以自己接受它。 – 2011-04-06 22:28:04