更改iPad方向,旋转状态栏,工具栏,但不是主视图

时间:2010-09-15 22:33:19

标签: ipad uiview ios rotation orientation

我正在尝试设置一个基于窗口的iPad测试应用程序,其中我有一个视图控制器和一个视图。当我旋转iPad时,我想要改变工具栏的方向,而不是视图本身的方向。例如,您使用的某种背景视图固定在设备上,但状态栏和工具栏围绕它旋转。这将使用户能够从各个角度处理视图,但始终使用正确的工具集。

可以在Brushes for iPad应用程序中找到我想要的美丽实现,其中绘画的方向锁定在设备上,工具栏围绕它旋转。我认为其他绘画应用也会做同样的事情。

我一直在试图弄清楚如何做到这一点,但在经历了很多其他关于定位的问题之后,我仍然不知所措。

有人能指出我朝着一个整洁的解决方案的正确方向吗? autoresizeMask的自动调整的特定组合?用另一个反方向反击旋转动画?使用多个并发视图控制器,一个用于旋转视图,一个用于非旋转视图?

我非常感谢,

(编辑:在Olie的评论之后,试图澄清这个问题。)

3 个答案:

答案 0 :(得分:1)

为防止轮换,您可以将其放在视图控制器的.m:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

但是你说你仍然希望视图框能够响应旋转而调整大小。我自己没有必要这样做,所以我不确定将autoresizingMask设置为具有灵活的宽度和高度是否足够;您可能还需要实施didRotateFromInterfaceOrientation:并使用setNeedsLayout和/或手动调整视图大小。

答案 1 :(得分:0)

就我工作的程度而言,我无法看到你问题的任何简单答案。如何旋转所有内容(tabbar,导航和状态栏,视图控制器),然后在“旧坐标”中重新绘制视图控制器的内容,这样对于用户来说它看起来好像没有旋转?

答案 2 :(得分:0)

我有一个错误,这一段时间做了 - 我很确定你所要求的将会让你遭到Apple的HIG违规拒绝。但是,我会记住问题是什么。我很确定它是这样的:

我有一个tabbarViewController,上面写着“我朝向任何方向。”

其中一个标签是一个普通的UIViewController,上面写着“我只做LandscapeLeft& L-Right”

旋转时,内部(UIVC)保持不变,但外部(TabVC)围绕物体旋转。

我可能会有一些细节向后或以其他方式复杂,但一般的想法是:堆叠的VC,而不是所有的VC。

祝你好运!

相关问题