【问题标题】:Add NavigationController to current view将 NavigationController 添加到当前视图
【发布时间】:2012-09-13 18:28:35
【问题描述】:

我正在使用 UIScrollView 显示一些图像,当用户选择图像的一部分时,我需要呈现或推送另一个视图。此 ScrollView 仅以编程方式创建。 我如何以编程方式向它添加一个 navigationController 并呈现另一个视图?

我试过这种方式,但只给我以下错误:

不支持推送导航控制器'

 StatesViewController * controller = [[StatesViewController alloc]initWithNibName:@"StatesViewController" bundle:nil];

    UINavigationController * Navcontroller = [[UINavigationController alloc] initWithRootViewController:controller];

    [self presentModalViewController: Navcontroller animated: YES];

【问题讨论】:

  • 为什么不将 UIScrollView 嵌入到 UINavigationController 中?
  • ScrollView 是以编程方式创建的,我不知道如何对其实现 navigationController
  • 但是UIScrollView 是在什么环境下创建的?肯定它被添加为UIViewController 中已包含的UIView 的子视图,还是被分配为UIViewControllerthe view?只需更改 UIViewController 使其包含在 UINavigationController 中,然后您应该能够将新的视图控制器推送到堆栈上。 (如果您不希望用户看到,您甚至可以在第一个屏幕上隐藏UINavigationController 的导航项。)

标签: objective-c ios uiviewcontroller pushviewcontroller presentmodalviewcontroller


【解决方案1】:

这可能会对您有所帮助。

 NextViewController *nextViewController=[[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil];
    UINavigationController *navBar=[[UINavigationController alloc]initWithRootViewController:nextViewController];
    [self.navigationController presentModalViewController:navBar animated:YES];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2016-01-03
    相关资源
    最近更新 更多