Jeśli zaimplementujesz willMoveToSuperview
na podklasie UIView
, czy jest zagwarantowane wywołanie (z nil
), gdy w twoim widoku zostanie wywołana removeFromSuperview
?Czy willMoveToSuperview jest wywoływany (z zerem) podczas usuwania widoku z hierarchii?
Docs powiedzieć, że parametr newSuperview
może być nil
i że nazywa „Kiedykolwiek zmiany Superview” ale nie jestem pewien, czy mogę zinterpretować to oznaczać to będzie wywoływana, gdy widok jest usuwany z jego podglądu, nawet jeśli nie jest przenoszony do innego superviewu.
Czy zakładasz, że widok jest nadal zachowany? Jeśli jego stary super widok jest jedynym właścicielem, widok zniknie na zawsze po "removeFromSuperview", prawda? – Philip007
Metoda 'removeFromSuperview' wysyła' willMoveToSuperview: 'i' didMoveToSuperview' do 'self' przed ostatecznym zwolnieniem' self'. Jeśli superview miał jedyne silne odwołanie do subview, subview otrzyma wiadomości zanim zostanie zwolniony. –