我想知道,当屏幕上显示特定的UIView
时,是否有办法获得代表或某事?
答案 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();
......
然而,它在被绘制时被调用,而不仅仅是在首次显示时。所以它有时只是你想要的。它适用于我的情况。一定要打电话给超级! =)