Cómo hacer vista de tabla con todos los encabezados de sección flotantes

Entonces, un cliente exigió una vista de tabla dividida en 3 secciones y los 3 encabezados de sección visibles si / cuando se alcanzó la parte superior.

Hice un pequeño boceto para describir lo que necesito: introduzca la descripción de la imagen aquí

Entonces, cuando un usuario se desplaza hacia arriba, el encabezado de sección uno flotará allí, todo es normal hasta ahora … La diferencia que necesito es cuando el encabezado de sección2 llega a la parte superior de una vista de tabla.

No quiero que empuje el encabezado de sección 1 fuera de la vista, sino que quiero que se bloquee allí, justo debajo del encabezado de Sección 1 … Lo mismo ocurre con el encabezado de Sección 3, quiero que esté debajo del encabezado de Sección 2, que permanecerá por debajo del encabezado de Section1.

No pude entender cómo hacerlo por mí mismo, y espero que alguien tenga una idea de cómo hacerlo.

¿Puedo anular la class UITableView y luego deshabilitar el comportamiento de cabecera-sección-encabezado previo a la vista?

Si no es así, ¿puedo usar UICollectionView con un layout personalizado de alguna manera (nunca usé UICollectionView, así que estoy preguntando si alguien con experiencia cree que es posible)