Beyond scroll views - WWDC23 - Videos - Apple Developer

El scrollView hasta es un sistema para introducir más contenido en un pantalla del que podemos, en función de un eje de expansión, horizontal o vertical.

Por otra parte el content offset es el punto en el que el scrollview se encuentra considerando su posición superior. Este es controlable mediante un ScrollViewReader

Hasta ahora había un problema si queríamos poner un padding al ScrollView y es que los bordes no los pillaba bien y había que hacer apaños. Ahora con la función de safeAreaPadding podemos poner un padding a la safeArea en vez de al contenido.
Solución



El scrollview resuelve el safeArea en función del contenido que muestra y el futuro que tiene que mostrar.
Content margins
Sin embargo este modo de poner los safe area no permite configurar los insets del scrollView. (No se la diferencia no la he entendido la verdad, sólo sé que recomienda usar esta)

Ha explicado que puedes aplicarlo al .scrollContent o el .scrollIndicators, pero en el ejemplo no se vé la diferencia.

Como solución alternativa al safeAreaPadding tenemos también que podemos usar el contentMargins horizontal
De esta forma podemos paginar nuestro scroll para que cuando hagamos scroll no quede en posiciones intermedias.

Este en iOS permite paginar por grupos de páginas y de este modo nos movemos de un elemento a otro.

Así podemos hacer que cuando scrolleamos siempre caiga en la vista más cercana a la que hemos “apuntado”

Pero también podemos programarnos el comportamiento del scrollView a mano así

Podemos vincular la posición del scroll con el id del elemento y transmitirlo a otro componente.

Finalmente podemos programarnos una animación especial para cuando la vista aparece. Pero no todas las animaciones son compatibles con este modo.
<aside> ❓ No he entendido bien la parte en la que distingue entre las posibilidades que ofrece añadir un padding al content y al safeArea para el scrollView, en el ejemplo que el muestra no se percibe diferencia alguna.
</aside>