从添加为子视图的视图控制器加载新的视图控制器



嗨,我在项目中使用以下库https://github.com/firebaseco/FireUIPagedScrollView我添加了一些视图控制器作为页面。我现在的问题是,当用户在我的一个视图控制器上选择一个按钮作为页面加载时,页面只会被我的新视图控制器取代,而不是由保存页面的视图控制器取代。有人知道当某个页面上有什么东西被按下时,我如何移动到一个全新的视图控制器吗?

我用来从页面加载其他视图寻呼机的代码在下面

    WebViewController *dvController = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]];
    dvController.url = url;
    UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:dvController];
    nc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:nc animated:YES];

如有任何帮助,将不胜感激

简单的解决方案最终是在页面中创建一个属性,并在添加了页面的ViewController中进行设置

在第h页

@property (nonatomic, retain) UINavigationController *navController;

在页面保持视图控制器中,将属性设置为等于持有者导航控制器

Page  *pageVC = [[Page alloc] initWithNibName:@"Page" bundle:nil];
pageVC.navController = self.navigationController;

然后在Page.m中,当我想推送一个新的视图控制器时,只需在推送新视图控制器时使用现在设置的属性

@synthesize navController
...
NewViewController *dvController = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:[NSBundle mainBundle]];
[self.navController pushViewController:dvController animated:NO];

最新更新