2012-07-18 73 views
3

如果我有一个名为B的UIViewController。如果我添加UIViewController C作为B的子视图/子视图控制器。然后我将D添加为B的子视图控制器。然后我从B中删除D。在这种情况下,C的viewDidAppear是否会被调用?什么时候viewDidAppear被调用?

我问的原因是因为我没有得到B的电话来viewDidAppear。我打算在B被解雇时做些事情。

+1

当你删除B时,它的viewDidDisappear应该被称为 – waheeda 2012-07-18 04:46:48

+0

,这很明显。当C从小B中删除时,我询问B的viewDidAppear – adit 2012-07-18 04:49:17

+1

'viewDidAppear'将在视图完全加载时(即在'viewWillAppear'之后)被调用。当你添加/删除子视图时,它不会被调用! – Nina 2012-07-18 04:52:37

回答

5

viewDidAppear在您解除模态视图时不会被调用。将模态视图视为视图顶部的视图。

2

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

2

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

这意味着它只会在subView第一次出现后才会打电话。除非您将其删除并重新添加。在删除“D”后,“C”的viewdidAppear问题不会再次调用。

相关问题