Movimiento de Apple
La HIG cubre el movimiento como principio y se detiene ahí. Su página de Movimiento tiene 92 líneas sobre si animar — con propósito, de forma opcional, siguiendo el gesto — y ni un solo parámetro de muelle. Todo sobre cómo se construye realmente el movimiento vive fuera de ella, por lo que esto existe.
| Archivo | Qué contiene |
|---|---|
references/motion-animation.md | El vocabulario de muelles, duraciones, tipos de transición, interrumpibilidad. |
references/microinteractions-feedback.md | Estados de pulsación, carga, retroalimentación de éxito y error, emparejamiento háptico. |
references/gestures-interaction.md | Deslizamiento, arrastre, pellizco, gestos de borde y cómo el movimiento debe seguirlos. |
De dónde viene cada cosa
Vale la pena ser claro, porque las tres fuentes tienen una posición muy diferente y mezclarlas es cómo los consejos sobre movimiento se convierten en folklore:
- Principios →
hig-guide. "Añade movimiento con propósito." "Haz el movimiento opcional." "Busca un movimiento de retroalimentación realista que siga los gestos y expectativas de las personas." Estas son las propias palabras de Apple, en Motion. Cita esas, no las paráfrasis aquí. - Nombres de muelles y su comportamiento → API de SwiftUI.
.smooth,.snappy,.bouncyson API reales con valores predeterminados reales. Los porcentajes de rebote enmotion-animation.mdson caracterizaciones de ellos, no constantes publicadas — trátalos como un punto de partida que ajustas, y no los cites como especificación de Apple. - Todo lo demás → observación. Estas referencias están adaptadas de la colección apple-design-skills con licencia MIT (aviso en
LICENSE.txt) y están marcadas con[observed]donde el autor infirió el comportamiento de aplicaciones en producción. Útiles, no autoritativas.
Nada de esto está medido como los valores de ui-kit-for-apple-platforms. Esa distinción es el punto: el movimiento es la parte de este repositorio con menos verdad fundamental detrás.
Elegir un muelle
La única decisión que determina la mayor parte de la sensación:
| Muelle | Rebote | Usar para |
|---|---|---|
.smooth | ninguno | Hojas, modales, transiciones de fondo — cualquier cosa que deba asentarse sin llamar la atención |
.snappy | ligero | Pulsaciones de botón, interruptores, selección — el valor predeterminado para manipulación directa |
.bouncy | notable | Pulsaciones de iconos, notificaciones que llegan, momentos que deben sentirse gratificantes |
El rebote es toda la señal. Una hoja que rebota se lee como de juguete; una pulsación de botón que no rebota se lee como muerta. Acertar con esta única elección hace más que ajustar duraciones.
Qué separa el movimiento de Apple del movimiento ordinario
- Interrumpible. Un gesto debe poder revertir o redirigir una animación a mitad de vuelo en lugar de encolarla detrás. Cualquier cosa que termina antes de que responda se siente con retraso, sin importar lo rápida que sea.
- Sigue el dedo, luego toma el control. Durante un arrastre, la superficie sigue el gesto 1:1; el muelle solo toma el control al soltar, llevando la velocidad que tenía el gesto. Esto es el "movimiento de retroalimentación realista que sigue los gestos y expectativas de las personas" de la HIG hecho concreto.
- La duración es una consecuencia, no una entrada. Los muelles se especifican mediante física y se estabilizan cuando se estabilizan. Recurrir a 300 ms fijos generalmente significa recurrir a la herramienta equivocada.
- Posición y opacidad, no tamaño y color. Mover y desvanecer se leen como físicos; escalar y recolorar se leen como efectos.
Reducir Movimiento no es opcional
hig-guide lo indica claramente — "Haz el movimiento opcional." En la web eso es prefers-reduced-motion, y significa reemplazar el movimiento, no simplemente acortarlo: fundido cruzado en lugar de deslizamiento, corte en lugar de animar. ios-components.css de ui-kit-for-apple-platforms ya protege sus propias transiciones de esta manera; emúlanlo.
Límites
- Valores — color, tipografía, geometría de controles, materiales — pertenecen a ui-kit-for-apple-platforms, medidos del kit de UI de Apple. No los repitas aquí; un código hexadecimal en un archivo de movimiento es un código hexadecimal que quedará obsoleto en algún lugar donde nadie mire.
- Reglas sobre si algo debe animarse, qué presentación usar, cómo se adaptan los diseños — hig-guide, con las citas reales.
- Este skill cubre cómo se construye el movimiento en sí.