开发者社区 问答 正文

viewWillAppear不运行。

请问下,我现在有一个UIScrollView,还有一个ViewControll的数组,然后我把这个数组遍历用addChildViewController添加到了UIScrollView,然后设置UIScrollView的contentSize是用ViewControll数组*屏幕宽度,达到滑动切换ViewControll。但是viewWillAppear不运行。求解释

展开
收起
a123456678 2016-07-28 10:40:22 2106 分享 版权
1 条回答
写回答
取消 提交回答
  • 答应是必须会调用~
    这里说下调用时机(对于ChildController来说,毕竟是一个完整的是UIViewController周期其中一个步骤):
    viewWillAppear, viewDIdAppear在执行

    [self.view addSubview:childController.view];
    后调用。

    反之,viewWillDisappear, viewDidDisappear在执行

    [childController.view removeFromSuperview];
    后调用。

    如果不信可以自己写一个简单的Demo,增加一个如下的操作:

    cv *c = [cv new];
    [self addChildViewController:c];
    [self.view addSubview:c.view];
    [c didMoveToParentViewController:self];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [c.view removeFromSuperview];
    });

    在cv 重写viewWillAppear: viewWilDisappear:打上LOG进行验证。

    楼主自己实际情况请参考上面进行分析~

    2019-07-17 20:01:10
    赞同 展开评论
问答地址: