Dynamic Island: o que é, notificações interativas do iPhone

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

Dynamic Island é uma área interativa na parte superior do iPhone 14 Pro e modelos mais recentes, combinando o recorte de hardware da câmera com notificações de software em um único elemento de interface. Dynamic Island adapta sua forma e tamanho ao tipo de conteúdo: chamada, timer, música, Live Activity, conexão AirPods. Os desenvolvedores interagem através da API Dynamic Island baseada em ActivityKit e WidgetKit. Saiba mais em Dynamic Island HIG.

Principais pontos

  • Dynamic Island — um elemento de UI de software e hardware no iPhone 14 Pro e posteriores
  • Três modos — compacto, mínimo e expandido com diferentes tamanhos de conteúdo
  • Live Activities — a principal forma de conteúdo personalizado no Dynamic Island
  • Animações — o sistema gerencia automaticamente as transições entre os estados da Island
  • Eventos do sistema — chamadas, AirPods, Face ID, carregamento integrados na Dynamic Island

O que é Dynamic Island no iPhone?

Dynamic Island é um elemento de interface do iPhone 14 Pro, 15 Pro e modelos mais recentes que usa a área ao redor da câmera frontal e dos sensores Face ID para exibir notificações e Live Activity. Ao contrário do antigo notch, que era um elemento preto estático, a Dynamic Island muda dinamicamente de forma e tamanho: expande para mostrar um timer, encolhe para o ícone de AirPods conectados, transforma-se em um retângulo para resultados esportivos.

Implementação técnica da Dynamic Island é baseada no recorte de hardware em formato de pílula da tela OLED e no processamento de pixels por software ao seu redor. O sistema aumenta a taxa de atualização de pixels para 120 Hz na área da Island e usa anti-aliasing para transições suaves entre o conteúdo e a área preta da câmera. O desenvolvedor não programa a Island diretamente — ele cria conteúdo através do ActivityKit, e o sistema o posiciona ao redor do recorte automaticamente.

Percepção do usuário — a Dynamic Island transforma uma desvantagem de hardware em um elemento funcional. De acordo com pesquisas da Apple, os usuários percebem a Island como uma parte natural da tela após apenas alguns dias de uso. As animações de destaque e mudança de atenção — por exemplo, uma notificação recebida desloca a Island e mostra conteúdo com um efeito de expansão a 120 quadros por segundo.

Modos de exibição da Dynamic Island

Dynamic Island suporta três modos de exibição de conteúdo, que o sistema seleciona automaticamente com base no tipo e número de atividades. O desenvolvedor define a UI para cada modo no WidgetBundle, mas não controla qual modo está ativo no momento. O sistema também pode exibir duas atividades simultaneamente: uma à esquerda do recorte, outra à direita.

ModoTamanhoConteúdoExemplo
Compacto~50pt larguraÍcone + texto curtoTimer: ícone de relógio + "05:00"
Mínimo~22pt redondoApenas ícone do appNotificação de captura de tela
Expandido~300pt x 80ptSwiftUI View personalizadaPlacar esportivo com logotipos

Transição entre modos é realizada com uma animação do sistema de 0.4–0.6 segundos com curva ease-in-out. Quando uma nova Activity aparece, a Island expande do modo compacto para o expandido. Ao finalizar, ela encolhe de volta. O usuário pode forçar o recolhimento do modo expandido com um deslize para a esquerda — a Island passa para o modo compacto ou mínimo. O sistema também recolhe o modo expandido após 5 segundos de inatividade se nenhuma atualização for esperada.

Duas atividades — se dois aplicativos têm Live Activities ativas, a Dynamic Island as mostra em ambos os lados do recorte. O lado esquerdo é a primeira Activity iniciada, o direito é a segunda. Se houver apenas uma atividade, ela ocupa o lado esquerdo, o direito permanece vazio. Tocar em qualquer lado expande a Island e mostra o conteúdo dessa Activity. O próprio sistema decide qual Activity tem prioridade em caso de conflito.

Criação de conteúdo para Dynamic Island

O conteúdo da Dynamic Island é criado exclusivamente através de Live Activity com o framework ActivityKit. O desenvolvedor define quatro áreas no código: compacto esquerdo (compactLeading), compacto direito (compactTrailing), mínimo (minimal) e expandido (expanded). Cada área é uma SwiftUI View que recebe o estado atual da Activity através do context. Se uma área não estiver definida, a Island não exibe essa Activity no modo correspondente.

swift
struct DeliveryIsland: DynamicIsland {
    var body: some DynamicIslandContent {
        DynamicIslandExpandedContent {
            VStack(alignment: .leading) {
                Text(context.state.status)
                    .font(.headline)
                ProgressView(
                    value: context.state.progress
                )
                Text("ETA: \(context.state.minutes) min")
                    .font(.caption)
            }
        } compactLeading: {
            Image(systemName: "box.truck")
        } compactTrailing: {
            Text("\(context.state.minutes) min")
                .monospacedDigit()
        } minimal: {
            Image(systemName: "box.truck")
        }
    }
}

Limitações do SwiftUI na Dynamic Island — componentes disponíveis: Text, Image, HStack, VStack, ZStack, Spacer, ProgressView, Button (apenas via Link), Gauge. Proibidos: ScrollView, List, TabView, animações, gesture recognizers. Paleta de cores — apenas System Colors (label, secondaryLabel, tint). Fontes — tamanhos do sistema de .caption a .title3. Fontes personalizadas e SF Symbols funcionam corretamente.

Testando a Dynamic Island — o Xcode fornece um simulador com suporte a Dynamic Island. Selecione iPhone 14 Pro ou 15 Pro como dispositivo de destino. O ActivityKit simula diferentes modos da Island: o botão Dynamic Island Mode no menu Debug do Xcode alterna entre compacto, mínimo e expandido. Para testar várias Activities simultaneamente, use esquemas com diferentes ActivityIDs ou execute duas instâncias do aplicativo.

Eventos do sistema na Dynamic Island

Eventos do sistema — chamadas, AirPods, Face ID, carregamento e outros — têm prioridade sobre as Live Activities personalizadas. Quando ocorre um evento do sistema, a Island pausa a exibição de conteúdo personalizado e mostra o conteúdo do sistema. Após o término do evento do sistema, a Island retorna ao conteúdo personalizado com uma animação. O desenvolvedor não pode cancelar ou modificar eventos do sistema — eles são gerenciados no nível do sistema operacional iOS.

Evento do sistemaFormato de exibiçãoPrioridade
Chamada recebidaCartão mínimo com nome do contatoAlta
AirPodsAnimação + carga da bateriaMédia
Face IDÍcone de cadeadoMédia
CarregamentoÍcone de raio + porcentagemBaixa
AirDropProgresso da transferênciaMédia
Captura de telaAnimação do obturadorBaixa

Chamada recebida — o evento de sistema mais importante. A Dynamic Island mostra o nome do chamador à esquerda do recorte e a duração/status à direita. Durante uma chamada ativa, a Island não exibe nenhuma Live Activity personalizada. O usuário pode expandir a Island para abrir a tela de chamada ou recolhê-la para continuar trabalhando no aplicativo com a chamada ativa em segundo plano.

Conexão AirPods — ao abrir o estojo próximo ao iPhone, a Dynamic Island anima a conexão e mostra a carga de cada fone e do estojo. A animação dura 2–3 segundos, após os quais a Island retorna ao seu estado anterior. Se o usuário não tinha Live Activities ativas, a Island permanece vazia. Os AirPods Pro 2 também exibem volume e modo de cancelamento de ruído ao pressionar a haste.

Melhores práticas de desenvolvimento para Dynamic Island

Melhores práticas da Dynamic Island da Apple são recomendadas para garantir uma experiência do usuário de qualidade. O modo compacto deve exibir apenas as informações mais importantes — um ícone e um único número ou rótulo curto. O modo expandido — apenas informações-chave sem elementos redundantes. Evite colocar texto no modo compacto se exceder 20 caracteres — o sistema trunca o texto com reticências.

Atualizações push para Dynamic Island — use ActivityKit push para atualizações raras (status do pedido, resultados esportivos) e atualizações locais para temporizadores frequentes ou cronômetros. As notificações push passam pela APNs e levam 0.5–2 segundos para aparecer na Island. StaleDate — defina a data de expiração do conteúdo: se uma atualização não chegar a tempo, o sistema mostra um fundo cinza em vez do conteúdo, sinalizando dados desatualizados ao usuário.

swift
func updateDelivery(activity: Activity<DeliveryAttributes>) {
    Task {
        let newContent = ActivityContent(
            state: DeliveryAttributes.ContentState(
                status: .delivered,
                estimatedMinutes: 0
            ),
            staleDate: Date().addingTimeInterval(300)
        )
        await activity.update(newContent)
        // Finalizando Activity em 2 segundos
        try? await Task.sleep(nanoseconds: 2_000_000_000)
        await activity.end(newContent)
    }
}

Consumo de energia — Dynamic Island e Live Activities têm impacto mínimo na bateria graças à otimização de hardware da tela OLED. Os pixels pretos ao redor do recorte estão desligados e o conteúdo é renderizado em um coprocessador dedicado. O consumo médio de Live Activity é inferior a 1% de bateria por hora de uso com atualização a cada 5 minutos. O sistema pausa automaticamente a Island quando a bateria está baixa (abaixo de 20%) ou no modo de economia de energia.

Design para Dynamic Island não requer adaptação da UI principal do aplicativo — a Island funciona independentemente da tela ativa. As cores da Live Activity devem corresponder ao tema do sistema (claro/escuro) através dos Color Assets do sistema. SF Symbols são preferíveis a ícones personalizados — eles são garantidos de exibir corretamente em qualquer modo da Island e têm suporte integrado ao Dynamic Type.

Perguntas frequentes

Como a Dynamic Island aparece em iPhones mais antigos?

Dynamic Island está disponível apenas no iPhone 14 Pro, 14 Pro Max, 15 Pro, 15 Pro Max e posteriores com iOS 16.1+. Em iPhones mais antigos com notch, a Dynamic Island não é exibida — a Live Activity aparece como um banner normal na tela de bloqueio. O desenvolvedor não precisa escrever código diferente: o próprio sistema adapta a interface às capacidades do dispositivo.

É possível colocar duas Live Activities na Dynamic Island?

A Dynamic Island suporta a exibição de duas atividades simultaneamente — elas são posicionadas à esquerda e à direita do recorte da câmera. Se houver apenas uma atividade, ela ocupa o lado esquerdo e o direito permanece no estado compacto. Tocar em qualquer lado expande a Island e mostra o conteúdo da Activity correspondente.

Quais eventos do sistema usam a Dynamic Island?

Eventos do sistema na Dynamic Island: chamada recebida com cartão mínimo e nome do contato, conexão AirPods com animação e carga da bateria, Face ID com ícone de cadeado, carregamento do dispositivo com porcentagem, modo modem, alteração de volume, ativação do Modo Silencioso, AirDrop com progresso da transferência e captura de tela com animação do obturador.

Como adicionar suporte a Dynamic Island em um aplicativo?

Dynamic Island não requer uma API separada — ela exibe Live Activities criadas através do ActivityKit em conjunto com o WidgetKit. O aplicativo registra uma Activity com configuração DynamicIsland, define SwiftUI Views compacta, mínima e expandida. O sistema a exibe automaticamente na Dynamic Island em dispositivos compatíveis.

Existem limitações de conteúdo na Dynamic Island?

A Dynamic Island é limitada a três estados visuais com tamanhos diferentes: compacto até 50pt, mínimo até 22pt, expandido até 300pt. No modo compacto, não é recomendado colocar texto com mais de 20 caracteres. Apenas componentes SwiftUI do sistema estão disponíveis — Text, Image, ProgressView, Gauge. Fontes e cores personalizadas são limitadas à paleta do sistema.

Resumo

  • Dynamic Island — área interativa ao redor do recorte da câmera no iPhone 14 Pro e posteriores
  • Três modos — compacto, mínimo e expandido com transições gerenciadas pelo sistema
  • Live Activity — a única forma de conteúdo personalizado via ActivityKit e WidgetKit
  • Eventos do sistema — chamadas, AirPods, Face ID, carregamento têm prioridade sobre conteúdo personalizado
  • Limitações do SwiftUI — apenas Text, Image, ProgressView, HStack, VStack, ZStack, Gauge
  • Consumo de energia — menos de 1% de bateria por hora de uso com atualizações a cada 5 minutos
  • Duas atividades — a Island exibe até duas atividades simultaneamente em ambos os lados do recorte

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