2011-11-26 11 views
5

UIView alt sınıfını uygularsanız, görünümünüzde removeFromSuperview çağrıldığında (nil ile) çağrılması garanti edilir mi?Bir hiyerarşi görünümü kaldırılırken willMoveToSuperview (nil ile) çağrılır mı?

dokümanlar "her ne zaman Superview değişiklikleri" denilen ama görünüm kaldırıldığında bunun adı verilecek anlamına bu yorumlayabilir emin değilim oluyor o newSuperview parametre nil olabileceğini söylüyorlar ve Farklı bir süper görüntüye taşınamadığında bile süper görüntüsünden.

cevap

13

Bir görünüm removeFromSuperview aldığında ve görünümün süper görünümü zaten sıfır olmadığında, görünüm her zaman [self willMoveToSuperview:nil] yapar.

+0

Görünümün hala korunmakta olduğunu mu varsayıyorsunuz? Eski süper görünümü tek sahibi ise, görünüm "removeFromSuperview" ifadesinden sonra sonsuza dek ortadan kalkacak, değil mi? – Philip007

+0

'removeFromSuperview' yöntemi, 'self''i en son bırakmadan önce' willMoveToSuperview:' ve 'didMoveToSuperview'' 'self''üne gönderir. Süper görüntü, alt ekrana yönelik tek güçlü referansa sahip olsaydı, alt görünüm, ayrılmadan önce iletileri alır. –

İlgili konular