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 后视图向上移动