2010-04-16 202 views
3

当iPad取向锁定时,有没有办法接收通知?当方向锁定设置为开或关时,它会发送receivedRotate:通知,但我需要一种能够区分正常旋转和锁定“旋转”的方法。iPad方向锁定通知?

问题是我旋转的东西在我看来,当旋转变化。当锁被激活时,iPad发送一个receivedRotate:与UIInterfaceOrientationPortrait。

我在UIDevice中寻找类似isOrientationLocked的东西,但没有成功。

感谢您对此的任何线索。

编辑:当iPad的方向锁定打开时,它确实发送了一个通知,指出由于某种原因,旋转改变为肖像。这会导致元素随着任何方向更改而旋转。这是我想要防止的。

编辑2:是的,iPad不应该发送肖像通知,但它确实如此。在这个肖像通知之后,iPad停止发送通知,这是它应该的方式。这只是最初的通知。

我无法使用加速度计,因为我仍然希望能够使用方向锁的锁定功能。也许我会使用加速度计,如果我有某种方式知道iPad何时被锁定。

EDIT3:receivedRotate:用UIInterfaceOrientationPortrait调用所有方向。

+1

也许一个更好的例子会有所帮助。你什么时候需要知道屏幕被锁定?目前,它提供了方向,如果iPad被锁定,方向不会改变。 – 2010-04-16 21:36:46

+0

您是否找到解决方案?我也需要一个。 – DevDevDev 2010-04-20 21:26:03

+0

出于好奇,当将iPad锁定在横向位置时,您会收到哪些通知?从用户的角度来看它看起来是正确的,所以必须有另一个通知。 – Ukko 2010-04-26 22:13:45

回答

1

显然它现在工作。

我最近在安装最新的XCode & iPhone SDK后跳回到我的旧项目中,并且在打开锁定时我不再接收UIInterfaceOrientationPortrait。根本没有改变我的代码,所以它一定是Apple。

0

只是要清楚,你只使用轮播通知来确定你的轮换?你不是从加速度计或类似的东西中提取数据来确定你的方向?

另外一件事是,锁只是一个锁,它不应该强迫你进入肖像模式,如果你在风景。它应该让你保持风景。

所以,从你在做什么的角度来猜测,我可能会建议你真的不想使用通知作为你的界面的基础,而是直接使用加速度计数据。

作为新成立的iPad老板,我可能会想知道你在做什么,因为我看到锁是一种保持方向的方式,当我的身体取向不像躺在沙发上那样“正常”时,就像我想要的那样。