【问题标题】:How can I add a navigation controller to my own container view controller in iOS5?如何在 iOS5 中将导航控制器添加到我自己的容器视图控制器?
【发布时间】:2012-04-14 14:29:26
【问题描述】:

我正在尝试创建一个容器视图控制器(见屏幕截图),我想在右侧添加一个导航控制器,但我遇到了一些问题。你能帮帮我吗?

当我在父控制器 (viewDidLoad) 中添加此代码时,我会看到其他位置/大小的视图,我猜是因为我无法访问导航控制器容器视图。

试过了:

[self addChildViewController:_detailNavigationController];
_detailNavigationController.view.frame = CGRectMake(256, 49, 768, 651);
[self.view addSubview:_detailNavigationController.view];

还有这个,但显然只适用于第一个视图。

[self addChildViewController:_detailNavigationController];
_detailNavigationController.topViewController.view.frame = CGRectMake(256, 49, 768, 651);
[self.view addSubview:_detailNavigationController..topViewController.view];

尝试 hack 来获取导航控制器容器视图,但不起作用,我在屏幕上看不到任何东西,并且使用调试器我意识到视图为零。除此之外,Apple 可能不喜欢这个。

[self addChildViewController:_detailNavigationController];
UIView *view = [_detailNavigationController valueForKey:@"_containerView"];
view.frame = CGRectMake(256, 49, 768, 651);
[self.view addSubview:view];

我错过了什么吗?
您知道如何在我自己的自定义容器视图控制器中添加导航控制器吗?
提前致谢!

截图: http://img803.imageshack.us/img803/2464/screennjz.png

【问题讨论】:

    标签: ios5 uiviewcontroller uinavigationcontroller splitcontainer


    【解决方案1】:

    我有自定义类MasterViewController 和DetailedViewController 是UITableViewController 的子类。 NavigationController 是 UINavigationController 的子类,SplitViewController 是 UISplitViewController 的子类。

    如您所见,它可以工作,但是当我从导航控制器弹出视图时遇到问题。如果您知道如何解决此问题,请告诉我。

        MasterViewController *master = [[MasterViewController alloc] init];
    
        NavigationController *masterNav = [[NavigationController alloc] initWithRootViewController:master];
    
        DetailedViewController *detailed = [[DetailedViewController alloc] init];
    
        NavigationController *detailedNav = [[NavigationController alloc] initWithRootViewController:detailed];
    
        myVC = [[SplitViewController alloc] init];
    
        [myVC setViewControllers:[NSArray arrayWithObjects:masterNav, detailedNav, nil]];
    

    【讨论】:

    • 我遇到的问题是因为不是我所有的 VC 都是横向的,所以它翻转了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多