如果我有一个名为B的UIViewController。如果我将UIViewController C添加为B的子视图/子视图控制器。然后我将D添加为B的子视图控制器。然后我从B中删除D.在这种情况下,应该在之后调用C的viewDidAppear吗?
我问的原因是因为我没有得到B对viewDidAppear的调用。当B被解雇时,我打算做点什么。
答案 0 :(得分:5)
viewDidAppear
。将模态视图视为视图顶部的视图。
答案 1 :(得分:2)
我认为,在添加或删除子视图时不会调用viewDidAppear。这背后的原因是,我们在视图中添加/删除了几个对象作为子视图。在这里,viewDidAppear将一次又一次地被调用,这是不一个好的机制。在当前视图上加载类对象并将屏幕移动到另一个类的视图然后返回到上一个类时,将调用viewDidAppear。 简而言之,如果您将导航控制器推送到新视图然后将其弹出到旧视图,则会调用viewDidAppear。
答案 2 :(得分:2)
正如我现在测试的那样viewDidAppear
在视图进入屏幕时调用。甚至1px。即使你用任何其他subView
覆盖它并再次发现它,这种方法也不会再次调用。
这意味着只有在subView
首次出现后才能调用。除非你删除它并再次添加它。在您删除“D”后,“C”的问题viewdidAppear
没有再次调用。