UIViewサブクラスが親コンテナビューに追加されたときに、それ自体を自動的に配置するようにしたい。
どういうわけかそれが追加されたことを検出してポジショニングコードを実行できますか、それとも次のようなことをする必要がありますか?
[parentView addSubview:subView];
[setView calcPosition];
UIViewはメソッドwillMoveToSuperview:
とを提供しますdidMoveToSuperview
。ビューが別のビューにいつ追加されるか(または後で削除されるか)を知るために、それらをオーバーライドするだけです。
サブビュー内に方法を記述し、サブビューcalcPosition
のから呼び出しますdidMoveToSuperview
- (void)didMoveToSuperview
{
[super didMoveToSuperview];
[self calcPosition];
}