从不在Navstack之上的其他ViewControllers中推送Viewcontroller?

时间:2011-07-14 22:38:24

标签: xcode uiviewcontroller uinavigationcontroller uipagecontrol touchesbegan

我将滚动视图加载到我的主视图中(带有pagecontrol)。我想要做的是让scrollview使用“Touchesbegan”方法来寻找双击,然后让它将新的viewcontroller推送到navstack。第二个目标似乎不可能。

我有一个分离的scrollviewcontroller调用mainviewcontroller中的方法。该方法应该将新的viewcontroller推送到堆栈上。它没有,但是当我从mainviewcontrollerclass中调用这个方法时,它确实有用吗?!

在scrollviewcontroller类中

MainViewController *mvcC = [[MainViewController alloc] init];
[mvcC loadMapView];
[mvcC release];
在mainviewcontroller类中:

-(void) loadMapView {
[[self navigationController] pushViewController:mapViewController  animated:YES];
NSLog(@"loadMapView method is called!");
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您正在分配新的MainViewController并向其发送-loadMapView消息,而不是导航堆栈中的任何现有MainViewController。因此,该方法中的[self navigationController]为零,-pushViewController:animated:方法为无操作。