应该在调用之前调用哪些函数来调用ToInterfaceOrientation?

时间:2013-01-28 17:52:25

标签: ios uiviewcontroller

我想在UIViewController中调用函数shouldAutorotateToInterfaceOrientation之前做一些初始化。但是,在不同函数中添加一些打印输出后,这就是这些函数显然被调用的顺序:

1.- shouldAutorotateToInterfaceOrientation

2.- loadView

3.- viewDidLoad

4.- shouldAutorotateToInterfaceOrientation(再次)

5.- viewWillAppear

...

此外,函数initinitWithNibName永远不会被调用(或者至少我从未得到打印输出)。

我认为initinitWithNibName(取决于您使用的方法)应该在shouldAutorotateToInterfaceOrientation之前调用。但我想我错了(或者我做错了什么?)。也许这种情况正在发生,因为这个视图控制器在故事板编辑器中标记为“是初始视图控制器”吗?

在任何情况下,在UIViewController中shouldAutorotateToInterfaceOrientation之前自动调用的函数是什么?

非常感谢你!

注意:我知道shouldAutorotateToInterfaceOrientation自6.0以来已经过时,但我希望我的应用也与5.0兼容。

修改:我只想在shouldAutorotateToInterfaceOrientation之前初始化一些变量,我只希望这样做一次,而不是每次都调用shouldAutorotateToInterfaceOrientation

1 个答案:

答案 0 :(得分:0)

在通过覆盖此方法返回shouldAutorotateToInterfaceOrientationYES之前,您可以在NO中执行您需要执行的任何设置:

在您的实施中:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  // do whatever is needed before the rotation actually happens

  return YES;
}