UIView确实出现过?

时间:2011-02-20 23:45:28

标签: iphone ios uiview

我想知道,当屏幕上显示特定的UIView时,是否有办法获得代表或某事?

5 个答案:

答案 0 :(得分:23)

试试这些:

– didAddSubview:
– willRemoveSubview:
– willMoveToSuperview:
– didMoveToSuperview
– willMoveToWindow:
– didMoveToWindow
- viewDidAppear:

答案 1 :(得分:17)

如果直接在UIView中管理逻辑,请使用:

- didMoveToSuperview

如果您在UIViewController中管理逻辑,请使用:

- viewDidAppear:(BOOL)animated

答案 2 :(得分:14)

Swift版本。在你的UIView类里面只是:

override func willMove(toWindow newWindow: UIWindow?) {
    super.willMove(toWindow: newWindow)

    if newWindow == nil {
        // UIView disappear
    } else {
        // UIView appear
    }
}

答案 3 :(得分:8)

如果您通过UIView管理UIViewController,则可以使用-viewDidAppear:方法:

- (void) viewDidAppear:(BOOL) animated {
   //do stuff...
   [super viewDidAppear:animated];
}

答案 4 :(得分:0)

找出控件何时出现在屏幕上的另一种方法是继承View或Control并覆盖AppDomain.Unload(appDomain); //GC GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); ......

然而,它在被绘制时被调用,而不仅仅是在首次显示时。所以它有时只是你想要的。它适用于我的情况。一定要打电话给超级! =)