困惑了三天的 ContainerViewController 的问题,求大神指导

2015-05-24 13:08:52 +08:00
 pysama

当你连续想了太久的问题还没搞定,要么就是方法错了,要么就是脑袋少根经了?所以我整理下思路发到V2,希望得到指点。在下面的描述中,我用SB代替storyboard,使用VC代替ViewController. 谢谢理解。

功能描述:

点击一个按钮后,在container中显示对应的详情页面(detail)。

storyboary描述:

类描述:

我在wrapVC类中实现了addChild的方法

//方法名没写全,但应该能表达意思
-(void)addChild:(uivc*)child {
    [self addChildVC: child];
    //...set child view ...
    [self.view addSubView: detail.view];
    [detail didMoveToParentVC:self];
}

如果我在wrapVC中去调用addChild,前端是可以正常显示的

然后在默认的VC类中的按钮点击事件中调用该上面的的方法:

-(IBAction)trigger:(id)sender{
    detailVC* detail = [self.SB initVCWithID: @"detail"];
    //...get wrapVC using SB id...

    [wrapVC addChild:detail] ;

    //这里的count值都是正确的,但前端就是不显示detail
    NSLOG(@"children count %d", wrapVC.childVCs.count);
}

上面的步骤中,是哪里出了问题呢?

谢谢大家了。

3015 次点击
所在节点    iDev
3 条回复
CDuXZMAPgHp1q9ew
2015-05-24 13:20:27 +08:00
等等 你的问题是什么 看了三遍没找到
CDuXZMAPgHp1q9ew
2015-05-24 13:21:18 +08:00
"如果我在wrapVC中去调用addChild,前端是可以正常显示的"
"[wrapVC addChild:detail] ; //这里的count值都是正确的,但前端就是不显示detail"
这个不矛盾吗?
pysama
2015-05-24 13:26:37 +08:00
我的问题是,如何在rootVC中调用addChild方法,让detail页面在container中显示出来。


@wujichao 不矛盾啊。前面一句是在wrapVC类中调用addChild方法。
后面说的是在RootVC中调用 wrapVC的addChild方法。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/193338

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX