奇怪的UINavigationController和UIPopOverController行为

时间:2012-09-05 23:54:10

标签: uinavigationcontroller uipopover

我正在使用我的viewcontroller呈现一个popover:

     UIBarButtonItem *barButton = (UIBarButtonItem*)sender;
     SettingsViewController *settingsViewController = [[SettingsViewController alloc]      initWithNibName:nil bundle:nil];
     [self presentPopoverFromBarButtonItem:barButton andController:settingsViewController andSize:CGSizeMake(RECT_POPOVER_SETTINGS.size.width, RECT_POPOVER_SETTINGS.size.height)];

在这个视图控制器中,我有一个按钮,可以推送另一个视图控制器。

AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:anotherViewController animated:YES];

现在在这个视图控制器中我有一个动作,当它完成时我做:

 [self.navigationController popViewControllerAnimated:YES];

现在奇怪的是,当我弹出视图控制器时,

viewWillAppear
在SettingsViewController中调用

方法,然后断点返回到我的anotherViewController中的pop方法。

这是一个通用的应用程序,所以我在iPhone上使用相同的设置,但没有初始的UIPopOverController。这在iPhone中运行正常(没有弹出窗口,首先调用pop方法,然后调用viewWillAppear),但是在iPad上首先调用viewWillAppear,然后弹出。

所以我的问题是,有人可以解释为什么会这样吗?

感谢。

0 个答案:

没有答案