Dynamic Island: o que é, interação com Dynamic Island

Autor: IT Sectr Publicado: 2026-02-28 Tempo de leitura: 9 min

Dynamic Island é uma área interativa no topo do iPhone 14 Pro e de todos os iPhone 15/16 que combina notificações, atividades em segundo plano e indicadores do sistema numa única zona dinâmica. Ao contrário do tradicional notch, a Dynamic Island muda de forma e tamanho de acordo com o contexto atual. Segundo a Apple (WWDC 2024), os usuários interagem com a Dynamic Island em média 12 vezes por dia — através de toques, pressões longas e Live Activities com ActivityKit. Saiba mais sobre animações no iOS no artigo sobre Corner Radius.

Principais pontos

  • Dynamic Island é uma solução de software e hardware da Apple que substitui o notch por uma zona interativa de geometria variável.
  • Live Activities são widgets na Dynamic Island que funcionam através do framework ActivityKit (iOS 16.1+).
  • Três estados: compacto (ícone), mínimo (pílula), expandido (painel com conteúdo).
  • ActivityKit é um framework Swift para publicar Live Activities na Dynamic Island e na tela de bloqueio.
  • A Dynamic Island suporta gestos: toque para abrir o app, pressão longa para expandir o painel.

O que é Dynamic Island?

Dynamic Island é uma área interativa baseada na solução de software e hardware da Apple, apresentada em setembro de 2022 junto com o iPhone 14 Pro. Fisicamente, é um recorte em forma de pílula rodeado por pixels OLED que mudam dinamicamente de cor e forma. A Apple usa uma combinação de um recorte de hardware para a câmera e Face ID com renderização de software das áreas pretas ao seu redor, criando a ilusão de uma ilha «viva».

O principal objetivo da Dynamic Island é eliminar a lacuna entre as notificações do sistema e o conteúdo ativo. Em vez de as notificações aparecerem no centro da tela (como no Android) ou como banners no topo (como em iOS mais antigo), a Dynamic Island as integra diretamente na zona de hardware. Isso reduz a distração e cria uma sensação de espaço unificado.

Segundo dados da Apple (Estatísticas de adoção do iOS 17, 2024), a Dynamic Island está disponível em 38% dos iPhones ativos. A partir do iPhone 15 (2023), todos os modelos da linha receberam a Dynamic Island, incluindo os modelos básicos. No iOS 18, a Apple expandiu a API de Live Activities, adicionando suporte para temporizadores regressivos e resultados esportivos diretamente na Dynamic Island.

Quais modelos suportam a Dynamic Island

Dynamic Island está disponível no 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. A Dynamic Island não está disponível no iPad. O desenvolvimento para Dynamic Island requer Xcode 14.1+ e iOS 16.1+.

Como funciona a Dynamic Island: três estados

Dynamic Island suporta três estados de exibição: compacto, mínimo e expandido. As transições entre estados são animadas usando animações UIKit e Core Animation. O próprio sistema gerencia a prioridade das atividades: se vários apps tentarem exibir conteúdo simultaneamente, o iOS usa uma fila baseada na hora de início da última atividade.

EstadoTamanhoConteúdoExemplo
Compacto49×18 ptÍcone do app + ícone do sistemaTemporizador, música, chamada
MínimoAté 66×18 ptÍcone + texto curtoDireções de navegação, passos
ExpandidoAté 364×160 ptWidget completo com conteúdoPlacar esportivo, status do táxi

Estado compacto é a visualização padrão da Dynamic Island quando uma tarefa em segundo plano está ativa. Aparece como uma pílula arredondada com o ícone do app à esquerda e um ícone do sistema à direita. Por padrão, todas as Live Activities começam no estado compacto.

Estado mínimo ocorre quando duas ou mais tarefas estão ativas simultaneamente. A Dynamic Island «divide-se» em dois elementos separados à esquerda e à direita da câmera. O estado mínimo permite exibir duas fontes independentes de informação, como o tempo até a chegada do táxi e a faixa atual.

Estado expandido é ativado por uma pressão longa na Dynamic Island. Neste modo, um widget completo com conteúdo personalizável é exibido: títulos, descrições, barras de progresso, botões. O estado expandido suporta rolagem e elementos interativos.

ActivityKit e Live Activities: API Swift

ActivityKit é um framework Swift introduzido no iOS 16.1 que permite que apps publiquem Live Activities na Dynamic Island e na tela de bloqueio. O ActivityKit usa uma arquitetura baseada em ActivityView e ActivityAttributes: o primeiro define o tipo de conteúdo, o segundo define os dados mutáveis. O framework funciona em conjunto com o WidgetKit, mas ao contrário dos widgets, as Live Activities podem ser atualizadas em tempo real sem abrir o app.

swift
import ActivityKit
import SwiftUI

// Definir atributos da atividade
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: "Alexei",
        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 são atualizadas através do ActivityView, que renderiza conteúdo SwiftUI para a Dynamic Island. O próprio sistema determina qual modelo usar (compacto, mínimo ou expandido) dependendo do tamanho da Dynamic Island e do número de atividades. Para atualizar o conteúdo, chame activity.update(using: contentState). Para encerrar — activity.end(dismissalPolicy: .immediate).

Notificações dinâmicas com atualizações push

O ActivityKit suporta atualizações push através do APNs (Apple Push Notification Service). Ao iniciar uma Live Activity, você pode solicitar um pushToken e enviar atualizações do servidor sem precisar executar o app no dispositivo. As atualizações push funcionam através de activity.pushToken e Activity.pushToStartToken para início remoto de Live Activities.

swift
// Atualizar Live Activity via Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alexei",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Entregador próximo",
        body: "Alexei chegará em 4 minutos",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration é um parâmetro opcional que mostra uma notificação sobre a Dynamic Island para atualizações importantes (por exemplo, «O entregador chegou»). Sem AlertConfiguration, o conteúdo é atualizado silenciosamente, o que é adequado para barras de progresso e temporizadores.

Dynamic Island vs Notch: comparação

Notch é o recorte de hardware do iPhone X–13 que contém a câmera frontal, o sensor Face ID e o alto-falante. O notch é estático: seu tamanho e forma não mudam, e as notificações são exibidas abaixo dele como banners padrão. A Dynamic Island, por outro lado, usa os pixels ao redor do recorte para exibir conteúdo, tornando o elemento de hardware parte da interface.

CritérioDynamic IslandNotch
InteratividadeSuporta toques, pressões longas, deslizesNão interativo
Adaptação de conteúdoMuda de forma conforme o contextoEstático, conteúdo abaixo do notch
Live ActivitiesSuporte integrado via ActivityKitNão — apenas notificações padrão
MultitarefaDuas atividades simultâneas (esquerda e direita)Apenas uma atividade
DisponibilidadeiOS 16.1+, iPhone 14 Pro e posterioresiOS 11+, iPhone X–13

De acordo com as Apple Human Interface Guidelines (2025), a Dynamic Island não deve ser usada para publicidade ou exibição permanente de conteúdo estático. As Live Activities são destinadas apenas a tarefas em segundo plano com um ciclo de vida claro: temporizadores, entregas, esportes, música, navegação. A violação dessas regras leva à rejeição do aplicativo na revisão da App Store.

Ciclo de vida e gestos da Dynamic Island

Dynamic Island tem um ciclo de vida rigoroso: uma atividade começa com uma solicitação através de Activity.request(), passa pelos estados ativa/pausada/atualizada e termina com uma chamada a activity.end(). O sistema pode forçar o encerramento de uma atividade quando há pouca memória (por exemplo, ao iniciar a câmera). Nesse caso, o app recebe uma notificação através de ActivityActivityState.finished.

Gestos na Dynamic Island são tratados pelo conteúdo SwiftUI dentro do ActivityView. Gestos padrão: toque no estado compacto abre o app, pressão longa expande o estado expandido, deslize para baixo fecha o estado expandido. Gestos personalizados são adicionados através de modificadores SwiftUI (onTapGesture, onLongPressGesture) dentro da visualização de atividade.

Tratamento do estado finished

Quando o sistema encerra uma Live Activity (ou o usuário a remove com um deslize), o app deve tratar o estado finished para liberar recursos. Recomenda-se subscrever Activity.activityStateUpdates e remover as referências locais à atividade após a conclusão.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Atividade ativa na Dynamic Island")
            case .dismissed:
                print("Atividade descartada pelo usuário")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Atividade encerrada pelo sistema")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Recomendação da Apple (WWDC 2024, Sessão 10146): não use a Dynamic Island para exibir status que não exigem atenção do usuário. Cada Live Activity deve ter um gatilho claro de início e fim. Para atualizações em segundo plano sem interface do usuário, use Background Tasks em vez de Live Activities.

Perguntas frequentes

Em quais iPhones a Dynamic Island funciona?

Dynamic Island está disponível no iPhone 14 Pro, 14 Pro Max e em todos os modelos iPhone 15 e iPhone 16 (incluindo versões básicas). O desenvolvimento requer iOS 16.1+ e Xcode 14.1. Em modelos mais antigos (iPhone X–13), é usado um notch estático que não suporta Live Activities.

Como a Dynamic Island difere de uma notificação comum?

Dynamic Island integra a notificação na zona de hardware da tela sem cobrir o conteúdo. Uma notificação comum aparece como um banner no topo e desaparece após alguns segundos. As Live Activities na Dynamic Island podem permanecer ativas por horas e ser atualizadas em tempo real (status de entrega, temporizador, música).

Como atualizar o conteúdo na Dynamic Island sem abrir o app?

Use atualizações push através do APNs. Ao iniciar uma Live Activity, chame activity.pushToken e envie o token para o seu servidor. O servidor envia uma solicitação de atualização através do APNs com o novo ContentState. Uma alternativa são as atualizações locais através de activity.update(using:) de dentro do próprio app.

Como exibir duas atividades simultaneamente na Dynamic Island?

O iOS divide automaticamente a Dynamic Island em dois segmentos quando duas Live Activities estão ativas. Cada atividade é exibida em estado mínimo à esquerda e à direita da câmera. Uma pressão longa em um dos segmentos abre o estado expandido apenas para esse app.

Por que minha Live Activity não aparece na Dynamic Island?

Verifique: (1) o app tem NSSupportsLiveActivities = YES no Info.plist, (2) ActivityAttributes e ContentState implementam Codable e Hashable, (3) a versão do iOS é 16.1+, (4) o dispositivo suporta Dynamic Island. Para o simulador, use iPhone 14 Pro ou posterior no Xcode.

Resumo

  • Dynamic Island é a zona interativa do iPhone 14 Pro+, substituindo o notch estático.
  • Suporta três estados: compacto, mínimo e expandido com animações de transição suaves.
  • ActivityKit é um framework Swift para publicar Live Activities na Dynamic Island e na tela de bloqueio.
  • Live Activities são atualizadas através de chamadas locais ou notificações push via APNs.
  • Gestos: toque para ir ao app, pressão longa para expandir o painel, deslize para fechar.
  • Dynamic Island suporta até duas atividades simultâneas com divisão em segmentos.
  • A Apple restringe o uso de Live Activities apenas a tarefas em segundo plano com prazos claros.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também