Si implementa willMoveToSuperview
en una subclase UIView
, ¿se garantiza que se llamará (con nil
) cuando se llame a removeFromSuperview
en su vista?¿Se llama willMoveToSuperview (con nil) al eliminar una vista de una jerarquía?
Los documentos dicen que el newSuperview
parámetro puede ser nil
y que se llama "siempre que cambie el SuperView" pero no estoy seguro si puedo interpretar que esto significa que se llamará cuando se quita la vista desde su supervista incluso cuando no se está moviendo a una supervista diferente.
¿Estás asumiendo que la vista aún se conserva? Si su antigua supervista es el único propietario, la vista desaparecerá para siempre después de 'removeFromSuperview', ¿verdad? – Philip007
El método 'removeFromSuperview' envía' willMoveToSuperview: 'y' didMoveToSuperview' a 'self' antes de liberar finalmente' self'. Si la supervista tuvo la única referencia fuerte a la subvista, la subvista recibirá los mensajes antes de ser desasignada. –