iPhone SDK:切换视图导航控制器

Posted

技术标签:

【中文标题】iPhone SDK:切换视图导航控制器【英文标题】:iPhone SDK: switching views navigationcontroller 【发布时间】:2010-09-14 10:36:11 【问题描述】:

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

我正在尝试使用 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.如果我错过任何信息,请随时询问,我会尽快提供)

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

我正在嵌套这样的视图:

mainView - SecondView 第三视图

并要求 mainView 从 SecondView 转到 ThirdView。

而不是这个:

MainView - SecondView - ThirdView

现在只需让 secondView 转到 thirdView。

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

【讨论】:

以上是关于iPhone SDK:切换视图导航控制器的主要内容,如果未能解决你的问题,请参考以下文章

将右 barbuttonitem 添加到导航控制器 iphone sdk 后视图向上移动

Facebook iOs sdk iphone:从多个视图控制器调用

当应用程序在 iPhone sdk 中进入后台时加载根视图

在没有导航控制器的情况下导航到另一个视图控制器

iphone导航控制器和表格视图

iPhone导航控制器不显示