iOS Patterns
iOS Patterns
6 reglasSF Symbols sobre íconos custom
Usa SF Symbols para todos los íconos de navegación, acciones y estados de la interfaz en iOS. Son vectoriales, se escalan con Dynamic Type, soportan todos los pesos de SF Pro, tienen variantes de relleno/trazo, y respetan el modo oscuro y el color de acento del sistema. Íconos custom solo cuando la funcionalidad no tiene representación en SF Symbols.
investigación 2026Context menús: long press
En iOS, el long press (500ms) sobre un elemento abre un context menú con preview flotante del contenido y lista de acciones. Implementa context menús para ítems de lista, fotos, y cards que tienen múltiples acciones posibles. El context menú es superior al action sheet para acciones en items específicos porque muestra el contexto del elemento.
investigación 2026Swipe actions: máximo 2 por lado
Las swipe actions en listas de iOS permiten máximo 2 acciones por lado (izquierdo y derecho). La acción destructiva (eliminar) siempre va en el lado derecho en rojo. Si hay una acción de swipe full (el ítem desaparece al soltar), debe pedir confirmación para acciones destructivas. Nunca pongas más de 2 acciones por lado, se vuelve imposible de usar.
investigación 2026Share sheet nativo siempre
Para compartir contenido desde tu app, usa siempre el UIActivityViewController nativo, nunca construyas un selector de apps custom. El share sheet nativo incluye todos los destinos del sistema (AirDrop, Messages, Mail, apps de terceros), respeta los recientes del usuario, y no requiere mantenimiento cuando se agregan nuevas apps al sistema.
investigación 2026Widgets: diseña small primero
Diseña el widget small (2×2) primero, es el más usado y el más restrictivo. Un widget que no funciona en small nunca será adoptado. El small solo puede mostrar 1-2 datos y 1 tap target. Medium (4×2) puede mostrar una lista corta. Large (4×4) puede ser un dashboard. Nunca muestres texto menor a 13pt en un widget.
investigación 2026Live Activities para tiempo real
Live Activities (iOS 16+) son la interfaz apropiada para mostrar el progreso en tiempo real de eventos con duración conocida: entrega de pedido, partido en vivo, viaje en Uber. Aparecen en la pantalla de bloqueo y la Dynamic Island. El estado se actualiza vía push o background task sin necesidad de abrir la app. Úsalas para reducir la necesidad de notificaciones repetitivas de progreso.
investigación 2026