0

我的第一个问题,所以要温柔:)

我正在尝试使用 navigationController 来切换视图。我得到了以下信息:我有一个 MainView 控制器,它使用以下代码切换到不同的视图控制器:

UIButton *buttonPressed = (UIButton *)sender;

    switch (buttonPressed.tag) {
    case 1:
        viewController = catalogView;
        break;
    case 2: 
        viewController = locatorView;
        break;
    case 3:
        viewController = galleryView;
        break;
}
[[self navigationController] pushViewController:viewController animated:YES];

现在我尝试在其中一个视图中切换到另一个视图。

我想:我必须导入主视图并在这里简单地创建一个方法来切换视图。

例如

- (IBAction)goToProductView {
    //UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Test" message:@"hier" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Ok", nil] autorelease];
    //[alert show];
    viewController = galleryView;
    [[self navigationController] pushViewController:viewController animated:YES];
}

我从视图控制器中调用这个函数,如下所示:

myViewController *mainView = [[myViewController alloc] init];
[[self navigationController] popViewControllerAnimated:NO];
[mainView goToProductView];

mainView 的函数在这里被调用(如果我取消引用它会显示警报),但视图不会改变。

这里的任何人都可以告诉我为什么,或者有更好的解决方案吗?

提前致谢

(ps.如果我错过了任何信息,请随时询问,我会尽快提供)

4

2 回答 2

0

您调用视图/视图控制器的流程不正确。如果你能解释你想要的正确场景,我会告诉你解决方案。或发布您的代码以更好地理解。

于 2010-09-14T11:07:07.760 回答
0

我发现了我的方式的错误。

我正在嵌套这样的视图:

mainView - SecondView 第三视图

并要求 mainView 从 SecondView 转到 ThirdView。

而不是这个:

MainView - SecondView - ThirdView

现在只需要求第二个视图转到第三个视图。

对于遇到同样问题的其他人,我发现http://www.edumobile.org/iphone/iphone-programming-tutorials/navigationcontroller-application-in-iphone/非常有用。

于 2010-09-14T11:39:50.190 回答