什么时候调用viewDidAppear?

时间:2012-07-18 04:39:59

标签: iphone objective-c ios ipad

如果我有一个名为B的UIViewController。如果我将UIViewController C添加为B的子视图/子视图控制器。然后我将D添加为B的子视图控制器。然后我从B中删除D.在这种情况下,应该在之后调用C的viewDidAppear吗?

我问的原因是因为我没有得到B对viewDidAppear的调用。当B被解雇时,我打算做点什么。

3 个答案:

答案 0 :(得分:5)

关闭模态视图时,不会调用

viewDidAppear。将模态视图视为视图顶部的视图。

答案 1 :(得分:2)

我认为,在添加或删除子视图时不会调用viewDidAppear。这背后的原因是,我们在视图中添加/删除了几个对象作为子视图。在这里,viewDidAppear将一次又一次地被调用,这是一个好的机制。在当前视图上加载类对象并将屏幕移动到另一个类的视图然后返回到上一个类时,将调用viewDidAppear。 简而言之,如果您将导航控制器推送到新视图然后将其弹出到旧视图,则会调用viewDidAppear。

答案 2 :(得分:2)

正如我现在测试的那样viewDidAppear在视图进入屏幕时调用。甚至1px。即使你用任何其他subView覆盖它并再次发现它,这种方法也不会再次调用。

这意味着只有在subView首次出现后才能调用。除非你删除它并再次添加它。在您删除“D”后,“C”的问题viewdidAppear没有再次调用。