UINavigation Controller子视图问题

时间:2011-06-16 07:04:52

标签: iphone objective-c uinavigationcontroller

在我的申请中,我的第一页是UITableviewController。然后我在subView中添加UIViewcontroller,如:

viewcontrollername * prod=[[viewcontrollername alloc]init];
[self.view addSubview:prod.view];

没关系,但我的问题是UINavigation控制器无法在viewcontroller页面中工作(不导航到另一个页面)。我在点击事件中实现了它:

prod *login=[[prod alloc]init];
UINavigationController *navCtrl= [[UINavigationController alloc] init];
[navCtrl pushViewController:login animated:YES];
[login release];

  prod *login=[[prod alloc]init];
 [self.navigationController pushViewController:login animated:YES];
 [login release];

但它没有导航到另一个页面。

3 个答案:

答案 0 :(得分:0)

看起来navCtrl尚未添加到视图层次结构中。您可以将其作为子视图添加到window或将其设为rootViewController

答案 1 :(得分:0)

您的第一个视图控制器应该是导航控制器的根视图控制器。

initWithRootViewController

或者,您可以将新创建​​的导航控制器添加到viewcontroller。

[self.view addSubview:navCtrl.view];

完成此操作后,您可以将视图控制器推送到导航控制器。

编辑: 您需要有一个后退按钮,以防您无法返回主屏幕。更好的选择是在主屏幕上使用导航控制器,然后继续将视图推入堆栈。

答案 2 :(得分:0)

初始化导航控制器时使用此代码:

UINavigationController *navigationCtrlSlideShowSetting = [[UINavigationController alloc] initWithRootViewController:yourviewcontroller];

由于