2011-02-25 86 views
0

主视图我会很感激一些帮助,然后花费更多的时间在试验和错误。不应该旋转,但应包括子视图,包括UIPopoverController

想象一下:我刚刚开始为iPad创建一些东西,它看起来像一个仪表板,上面有一个拨号号码。在旋转iPad(纵向,横向左右等)时,背景不应旋转,拨盘位置应保持不变,但拨盘内部应旋转至正确的位置。所以,主视图不应该旋转,但子视图(在拨号内)应该。我之前已经在iPhone上完成了这个工作,通过告诉viewController只在肖像中,然后检查UIDeviceOrientation,所以我认为这会很容易。但是当我显示一个UIPopoverController时,我的头痛开始了。由于我没有更改UIInterfaceOrientation,所以UIPopoverController将始终处于纵向状态。

理想的解决方案是让主视图(viewController中的self.view)不会观察旋转的变化,但允许子视图执行此操作,但从我所了解的情况来看,这是不可能的。我能想到的其他解决方案是不旋转旋转变化,并将子视图(拨号)移动到新的位置。动画他们(子视图)使舞蹈遍布各地。但我还没有找到任何有关如何做到这一点的好方法。

任何想法的人?

回答

0

您认为如果主视图不旋转,子视图自动旋转是不可能的。

一个解决问题的方法是:旋转视图时动画的内容是视图变换中的变化。我非常确定您可以注册以接收设备方向更改,并且当您获得更改时,将转换更改设置为包含所有要旋转的子视图的容器视图。

编辑:刚刚阅读你有一个popover控制器。

就弹出窗口而言,API管理自动旋转的方式是隐藏弹出窗口,然后在旋转结束时再次显示它。实施类似的行为不应该太难。

发生在我身上的另一件事是:你想不要只旋转背景?它会工作,只有两个背景,一个用于肖像,一个用于可以切换的景观?它可能不是最漂亮的外观,但它可能比自己重新创建自转行为更容易。

+0

谢谢西蒙。 基本上我希望拨号保持在同一位置,只需根据iPad操作系统的方式围绕其中心旋转即可。这可以通过注册方向更改轻松完成。 这里的“问题制造者”是popover控制器(总是?)将在活动的UIInterfaceOrientation中显示。 我会尝试做的是在动画过程中淡出到新的方向,然后再次淡入。 – Structurer 2011-02-26 04:50:42

+0

是的,popover控制器似乎需要一点工作。我有些恼火,有些行为是我无法影响的。 – 2011-02-26 04:53:08