【发布时间】:2011-02-20 23:45:28
【问题描述】:
我想知道,当屏幕上显示特定的UIView 时,有没有办法获得代表或其他东西?
【问题讨论】:
我想知道,当屏幕上显示特定的UIView 时,有没有办法获得代表或其他东西?
【问题讨论】:
Swift 版本。在你的 UIView 类里面:
override func willMove(toWindow newWindow: UIWindow?) {
super.willMove(toWindow: newWindow)
if newWindow == nil {
// UIView disappear
} else {
// UIView appear
}
}
【讨论】:
试试这些:
– didAddSubview:
– willRemoveSubview:
– willMoveToSuperview:
– didMoveToSuperview
– willMoveToWindow:
– didMoveToWindow
- viewDidAppear:
【讨论】:
如果您直接在 UIView 中管理您的逻辑,请使用:
- didMoveToSuperview
如果您在 UIViewController 中管理您的逻辑,请使用:
- viewDidAppear:(BOOL)animated
【讨论】:
如果您通过UIViewController 管理UIView,则可以使用-viewDidAppear: 方法:
- (void) viewDidAppear:(BOOL) animated {
//do stuff...
[super viewDidAppear:animated];
}
【讨论】:
确定控件何时出现在屏幕上的另一种方法是继承 View 或 Control 并覆盖 drawRect...
但是,它在绘制时调用,而不仅仅是在首次显示时调用。所以它只是有时你想要的。它适用于我的情况。一定要打电话给超级! =)
【讨论】: