Dynamic Island: qué es, interacción con Dynamic Island

Autor: IT Sectr Publicado: 2026-02-28 Tiempo de lectura: 9 min

Dynamic Island es un área interactiva en la parte superior del iPhone 14 Pro y todos los iPhone 15/16 que combina notificaciones, actividades en segundo plano e indicadores del sistema en una única zona dinámica. A diferencia del tradicional notch, Dynamic Island cambia de forma y tamaño según el contexto actual. Según Apple (WWDC 2024), los usuarios interactúan con Dynamic Island un promedio de 12 veces al día — mediante toques, pulsaciones largas y Live Activities con ActivityKit. Obtén más información sobre las animaciones en iOS en el artículo sobre Corner Radius.

Puntos clave

  • Dynamic Island es una solución de software y hardware de Apple que reemplaza el notch por una zona interactiva de geometría variable.
  • Live Activities son widgets en Dynamic Island que funcionan a través del framework ActivityKit (iOS 16.1+).
  • Tres estados: compacto (icono), mínimo (píldora), expandido (panel con contenido).
  • ActivityKit es un framework de Swift para publicar Live Activities en Dynamic Island y la pantalla de bloqueo.
  • Dynamic Island admite gestos: toque para abrir la app, pulsación larga para expandir el panel.

¿Qué es Dynamic Island?

Dynamic Island es un área interactiva basada en la solución de software y hardware de Apple, presentada en septiembre de 2022 junto con el iPhone 14 Pro. Físicamente, es un recorte con forma de píldora rodeado de píxeles OLED que cambian dinámicamente de color y forma. Apple utiliza una combinación de un recorte de hardware para la cámara y Face ID con renderizado de software de las áreas negras a su alrededor, creando la ilusión de una isla "viva".

El objetivo principal de Dynamic Island es eliminar la brecha entre las notificaciones del sistema y el contenido activo. En lugar de que las notificaciones aparezcan en el centro de la pantalla (como en Android) o como banners en la parte superior (como en iOS más antiguo), Dynamic Island las integra directamente en la zona de hardware. Esto reduce la distracción y crea una sensación de espacio unificado.

Según datos de Apple (Estadísticas de adopción de iOS 17, 2024), Dynamic Island está disponible en el 38% de los iPhone activos. A partir del iPhone 15 (2023), todos los modelos de la gama recibieron Dynamic Island, incluidos los modelos base. En iOS 18, Apple amplió la API de Live Activities, añadiendo soporte para temporizadores de cuenta regresiva y resultados deportivos directamente en Dynamic Island.

Qué modelos son compatibles con Dynamic Island

Dynamic Island está disponible en iPhone 14 Pro, iPhone 14 Pro Max, iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16 Pro, iPhone 16 Pro Max. Dynamic Island no está disponible en iPad. El desarrollo para Dynamic Island requiere Xcode 14.1+ y iOS 16.1+.

Cómo funciona Dynamic Island: tres estados

Dynamic Island admite tres estados de visualización: compacto, mínimo y expandido. Las transiciones entre estados se animan mediante animaciones de UIKit y Core Animation. El propio sistema gestiona la prioridad de las actividades: si varias apps intentan mostrar contenido simultáneamente, iOS utiliza una cola basada en la hora de inicio de la última actividad.

EstadoTamañoContenidoEjemplo
Compacto49×18 ptIcono de app + icono del sistemaTemporizador, música, llamada
MínimoHasta 66×18 ptIcono + texto cortoIndicaciones de navegación, pasos
ExpandidoHasta 364×160 ptWidget completo con contenidoResultado deportivo, estado del taxi

Estado compacto es la vista estándar de Dynamic Island cuando hay una tarea en segundo plano activa. Aparece como una píldora redondeada con el icono de la app a la izquierda y un icono del sistema a la derecha. Por defecto, todas las Live Activities comienzan en estado compacto.

Estado mínimo se produce cuando hay dos o más tareas activas simultáneamente. Dynamic Island se "divide" en dos elementos separados a la izquierda y derecha de la cámara. El estado mínimo permite mostrar dos fuentes de información independientes, como el tiempo hasta la llegada del taxi y la pista actual.

Estado expandido se activa con una pulsación larga en Dynamic Island. En este modo, se muestra un widget completo con contenido personalizable: títulos, descripciones, barras de progreso, botones. El estado expandido admite desplazamiento y elementos interactivos.

ActivityKit y Live Activities: API de Swift

ActivityKit es un framework de Swift introducido en iOS 16.1 que permite a las apps publicar Live Activities en Dynamic Island y la pantalla de bloqueo. ActivityKit utiliza una arquitectura basada en ActivityView y ActivityAttributes: el primero define el tipo de contenido, el segundo los datos modificables. El framework funciona junto con WidgetKit, pero a diferencia de los widgets, las Live Activities pueden actualizarse en tiempo real sin abrir la app.

swift
import ActivityKit
import SwiftUI

// Definir atributos de actividad
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Iniciar Live Activity
func startDeliveryActivity() {
    let initialState = DeliveryAttributes.ContentState(
        driverName: "Alejandro",
        distanceToArrival: 3.5,
        estimatedMinutes: 12
    )
    let attributes = DeliveryAttributes(orderNumber: "ORD-2024-8912")
    let activity = try? Activity.request(
        attributes: attributes,
        contentState: initialState,
        pushType: .token
    )
}

Live Activities se actualizan a través de ActivityView, que renderiza contenido SwiftUI para Dynamic Island. El propio sistema determina qué plantilla usar (compacta, mínima o expandida) según el tamaño de Dynamic Island y la cantidad de actividades. Para actualizar el contenido, llama a activity.update(using: contentState). Para finalizar — activity.end(dismissalPolicy: .immediate).

Notificaciones dinámicas con actualizaciones push

ActivityKit admite actualizaciones push a través de APNs (Apple Push Notification Service). Al iniciar una Live Activity, puedes solicitar un pushToken y enviar actualizaciones desde el servidor sin necesidad de ejecutar la app en el dispositivo. Las actualizaciones push funcionan mediante activity.pushToken y Activity.pushToStartToken para el inicio remoto de Live Activities.

swift
// Actualizar Live Activity vía Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alejandro",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Mensajero cerca",
        body: "Alejandro llegará en 4 minutos",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration es un parámetro opcional que muestra una notificación sobre Dynamic Island para actualizaciones importantes (por ejemplo, "El mensajero ha llegado"). Sin AlertConfiguration, el contenido se actualiza silenciosamente, lo que es adecuado para barras de progreso y temporizadores.

Dynamic Island vs Notch: comparación

Notch es el recorte de hardware del iPhone X–13 que contiene la cámara frontal, el sensor Face ID y el altavoz. El notch es estático: su tamaño y forma no cambian, y las notificaciones se muestran debajo como banners estándar. Dynamic Island, en cambio, utiliza los píxeles alrededor del recorte para mostrar contenido, haciendo que el elemento de hardware forme parte de la interfaz.

CriterioDynamic IslandNotch
InteractividadAdmite toques, pulsaciones largas, deslizamientosNo es interactivo
Adaptación del contenidoCambia de forma según el contextoEstático, contenido debajo del notch
Live ActivitiesSoporte integrado mediante ActivityKitNo — solo notificaciones estándar
MultitareaDos actividades simultáneas (izquierda y derecha)Solo una actividad
DisponibilidadiOS 16.1+, iPhone 14 Pro y posterioresiOS 11+, iPhone X–13

Según las Apple Human Interface Guidelines (2025), Dynamic Island no debe utilizarse para publicidad ni para mostrar contenido estático de forma permanente. Las Live Activities están destinadas únicamente a tareas en segundo plano con un ciclo de vida claro: temporizadores, entregas, deportes, música, navegación. La violación de estas normas conlleva el rechazo de la aplicación en la revisión de App Store.

Ciclo de vida y gestos de Dynamic Island

Dynamic Island tiene un ciclo de vida estricto: una actividad comienza con una solicitud mediante Activity.request(), pasa por estados activa/pausada/actualizada y finaliza con una llamada a activity.end(). El sistema puede forzar la finalización de una actividad cuando hay poca memoria (por ejemplo, al iniciar la cámara). En este caso, la app recibe una notificación a través de ActivityActivityState.finished.

Los gestos de Dynamic Island se manejan mediante el contenido SwiftUI dentro de ActivityView. Gestos estándar: toque en el estado compacto abre la app, pulsación larga expande el estado expandido, deslizamiento hacia abajo cierra el estado expandido. Los gestos personalizados se añaden mediante modificadores de SwiftUI (onTapGesture, onLongPressGesture) dentro de la vista de actividad.

Manejo del estado finished

Cuando el sistema finaliza una Live Activity (o el usuario la elimina deslizando), la app debe manejar el estado finished para liberar recursos. Se recomienda suscribirse a Activity.activityStateUpdates y eliminar las referencias locales a la actividad después de la finalización.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Actividad activa en Dynamic Island")
            case .dismissed:
                print("Actividad descartada por el usuario")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Actividad finalizada por el sistema")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Recomendación de Apple (WWDC 2024, Sesión 10146): no uses Dynamic Island para mostrar estados que no requieran atención del usuario. Cada Live Activity debe tener un desencadenante claro de inicio y finalización. Para actualizaciones en segundo plano sin interfaz de usuario, usa Background Tasks en lugar de Live Activities.

Preguntas frecuentes

¿En qué iPhone funciona Dynamic Island?

Dynamic Island está disponible en iPhone 14 Pro, 14 Pro Max y todos los modelos iPhone 15 y iPhone 16 (incluidas las versiones base). El desarrollo requiere iOS 16.1+ y Xcode 14.1. En modelos anteriores (iPhone X–13) se utiliza un notch estático que no admite Live Activities.

¿En qué se diferencia Dynamic Island de una notificación normal?

Dynamic Island integra la notificación en la zona de hardware de la pantalla sin cubrir el contenido. Una notificación normal aparece como un banner en la parte superior y desaparece al cabo de unos segundos. Las Live Activities en Dynamic Island pueden permanecer activas durante horas y actualizarse en tiempo real (estado de entrega, temporizador, música).

¿Cómo actualizar el contenido en Dynamic Island sin abrir la app?

Usa actualizaciones push a través de APNs. Al iniciar una Live Activity, llama a activity.pushToken y envía el token a tu servidor. El servidor envía una solicitud de actualización a través de APNs con el nuevo ContentState. Una alternativa son las actualizaciones locales mediante activity.update(using:) desde la propia app.

¿Cómo mostrar dos actividades simultáneamente en Dynamic Island?

iOS divide automáticamente Dynamic Island en dos segmentos cuando hay dos Live Activities activas. Cada actividad se muestra en estado mínimo a la izquierda y derecha de la cámara. Una pulsación larga en uno de los segmentos abre el estado expandido solo de esa app.

¿Por qué mi Live Activity no aparece en Dynamic Island?

Verifica: (1) la app tiene NSSupportsLiveActivities = YES en Info.plist, (2) ActivityAttributes y ContentState implementan Codable y Hashable, (3) la versión de iOS es 16.1+, (4) el dispositivo es compatible con Dynamic Island. Para el simulador, usa iPhone 14 Pro o posterior en Xcode.

Resumen

  • Dynamic Island es la zona interactiva del iPhone 14 Pro+, que reemplaza el notch estático.
  • Admite tres estados: compacto, mínimo y expandido con animaciones de transición suaves.
  • ActivityKit es un framework de Swift para publicar Live Activities en Dynamic Island y la pantalla de bloqueo.
  • Las Live Activities se actualizan mediante llamadas locales o notificaciones push a través de APNs.
  • Gestos: toque para ir a la app, pulsación larga para expandir el panel, deslizamiento para cerrar.
  • Dynamic Island admite hasta dos actividades simultáneas con división en segmentos.
  • Apple restringe el uso de Live Activities solo a tareas en segundo plano con plazos de tiempo claros.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también