我正在使用我的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,然后弹出。
所以我的问题是,有人可以解释为什么会这样吗?
感谢。