2011-10-20 25 views
2

我有一个主视图A,它包含另一个视图B. A还包含一些按钮和控件。当设备旋转时,A的ViewController将旋转A,B以及按钮和控件。我怎样才能让B不被旋转?我想让B留下来。如何保持方向更改时由ViewController旋转一个视图?

视图A无法成为B和所有其他控件的容器。如果我将B直接放到主窗口上,那么我可以在其上使用A并保留其ViewController的旋转功能。这是做这件事的最好方法吗?

使事情复杂化,我使用故事板和A的ViewController,是故事板场景。

回答

0

您必须在orientationWillChange中更改视图的位置和旋转。

+0

你的意思是在它被ViewController旋转之前将它旋转到相反的方向,所以最终结果看起来是一样的吗?我不能这样做,因为视图的任何旋转都需要重新渲染数据,这非常耗时。我真正想要做的就是保持这种观点不被任何方式改变。 – mahboudz

+0

它不会停留在那里。你必须朝相反的方向旋转,这是唯一的解决方案。 但是,旋转视图不应该改变视图。这就是石英层如何工作,他们缓存everthing,甚至可以将视图光栅化成图像。即使你的观点被重新渲染,也不应该浪费时间。如果是这样,你应该优化你的渲染,而不是解决方法。 – Sulthan

+0

该视图是一张地图。当我旋转它时,地图服务会尝试获取显示的新区域。我无法优化不必要地创建的网络流量。我可以重写整个映射服务,让它忽略轮换,但这正是我想要阻止的。 – mahboudz

相关问题