-shouldAutorotateToInterfaceOrientation相关消息

时间:2012-05-24 10:13:03

标签: ios4 uiinterfaceorientation

这是关于AutorotateToInterfaceOrientation的奇怪之处。

在Debugger控制台中,我收到了一个视图控制器的消息:

视图控制器从中返回NO -shouldAutorotateToInterfaceOrientation:适用于所有界面方向。它应该支持至少一个方向。

但实际上旋转效果非常好。这个消息是错误的。这是-shouldAutorotateToInterfaceOrientation的代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return ([centerPoint autoRotateFlag]||(interfaceOrientation==centerPoint.userOrientation));
}

并且autoRotateFlag只是true(YES),或者如果它不是centerPoint.userOrientation已被固定为四个可接受值中的一个。

这已经为我工作了很长时间,应用程序仍然有效。我只是不知道这条消息来自哪里。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

通过在我的软件中添加一些跟踪,使用NSLog;我意识到 shouldAutorotateToInterfaceOrientation之前被调过七次 viewDidLoad被调用。

因为我的变量'autoRotateFlag'仅在通过viewDidLoad时被初始化。这解释了我的问题。

我不得不承认,我还远没有想到可以在viewDidLoad之前调用AutorotateToInterfaceOrientation。 显然我错了。我仍然不完全理解调用所有这些方法的顺序。