Contraer secciones en Objective-c

Estoy haciendo un formulario de request en mi aplicación y quiero hacer algo creativo, así que pensé en tener los componentes del formulario en secciones (como las siguientes imágenes), y hacer un queuepso y expandir el efecto sobre ellos.

colapsadoexpandido

¿Hay alguna class o algo que pueda ayudarme a implementar esto o debo hacerlo manualmente?

Solía ​​aprovechar una UITableView y los methods

 - (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 

y

 - (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 

para simular y expandir / contraer comportamiento.

Consulte la documentation para más detalles.

He utilizado los encabezados de sección seleccionables (ya sea a través de un button UIB o reconocedores de gestos) para permitir que el usuario se expanda / contraiga.

También hay muchos tutoriales que son bastante explicativos, utilizando diferentes técnicas:

  • Vista de tabla plegable para iOS
  • Mesa expandible / plegable para iOS

Finalmente puedes echar un vistazo a este control que debería proporcionar la funcionalidad que estás buscando:

UIExpandableTableView