Las subvistas, extrañamente, se eliminan. Digo “extrañamente” porque ViewController o la vista en sí agrega una subvista. Pero tiene que funcionar de esa manera porque el controlador de vista podría no estar disponible para eliminar la vista, y la vista tiene muchas vistas para eliminar, por lo que sería más trabajo para la vista hacerlo.
Pero de todos modos, para responder a su pregunta, la forma en que siempre lo hago es
- Ocultar la vista que desea eliminar
- Llame al método removeFromSuperview de la vista
- Establecer la vista en nulo
Asi que
- ¿Las aplicaciones móviles (Android e iOS) incluyen algoritmos?
- ¿La barra táctil de MBP2016 es útil para los desarrolladores al desarrollar aplicaciones?
- ¿Cuánto tiempo lleva construir una aplicación de citas iOS?
- ¿Existe una forma efectiva y barata / gratuita de alojar video para una aplicación móvil que debe ser aprobada por un administrador antes de lanzarse?
- Desarrollo de iOs: ¿cómo algunas aplicaciones cargan datos al instante, sin ninguna "carga"?
- yourSubview.hidden = YES;
- [yourView removeFromSuperview];
- yourView = nil;
Tenga en cuenta que si está haciendo esto en un bloque, es posible que deba etiquetar la vista como __bloque. También asegúrese de que esto suceda en el hilo principal, ya que está cambiando la interfaz de usuario.
No creo que sea estrictamente necesario establecerlo en cero, ya que el objeto finalmente se desasignará, pero lo veo como una buena práctica.