特定のUIView
が画面に表示されているときに、デリゲートまたは何かを取得する方法はありますか?
これらを試してください:
– didAddSubview:
– willRemoveSubview:
– willMoveToSuperview:
– didMoveToSuperview
– willMoveToWindow:
– didMoveToWindow
- viewDidAppear:
ロジックをUIView内で直接管理する場合は、以下を使用します。
- didMoveToSuperview
UIViewController内でロジックを管理する場合は、以下を使用します。
- viewDidAppear:(BOOL)animated
Swiftバージョン。あなたのUIViewクラスの内部:
override func willMove(toWindow newWindow: UIWindow?) {
super.willMove(toWindow: newWindow)
if newWindow == nil {
// UIView disappear
} else {
// UIView appear
}
}
UIView
をUIViewController
経由で管理している場合は、-viewDidAppear:
方法:
- (void) viewDidAppear:(BOOL) animated {
//do stuff...
[super viewDidAppear:animated];
}
コントロールが画面に表示されていることを確認する別の方法は、ビューまたはコントロールをサブクラス化し、drawRect
...をオーバーライドすることです。
ただし、最初に表示されたときだけでなく、描画されたときにも呼び出されます。ですから、それは時々あなたが望むものです。私の場合はうまくいきました。必ずスーパーにも電話してください! =)