3

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

问题是当旋转发生变化时,我正在旋转我的视图。当锁被激活时,iPad 会发送一个 receivedRotate: 和 UIInterfaceOrientationPortrait。

我在 UIDevice 中查看了类似 isOrientationLocked 的内容,但没有成功。

感谢您提供有关此问题的任何线索。

编辑:当 iPad 方向锁定打开时,它会发送通知,说明由于某种原因旋转变为纵向。这会导致元素旋转,因为它们随任何方向变化而旋转。这是我要防止的。

EDIT2:是的,iPad 不应该发送纵向通知,但它会发送。在这个肖像通知之后,iPad 停止发送通知,这是它应该的方式。这只是阻碍的初始通知。

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

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

4

2 回答 2

1

显然它现在正在工作。

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

于 2010-07-19T14:10:39.940 回答
0

需要明确的是,您是否仅使用轮换通知来确定您的轮换?您不是从加速度计或类似设备中提取数据来获取您的方向吗?

另一件事是锁只是一个锁,如果您处于横向模式,它不应该强迫您进入纵向模式。它应该让你保持在风景中。

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

作为新 iPad 的拥有者,我可能想知道您在做什么,因为当我的身体方向不“正常”(例如躺在沙发上)时,我认为锁定是一种保持方向不变的方式。

于 2010-04-21T17:02:35.837 回答