Dynamic Island: cos'è, notifiche interattive dell'iPhone

Autore: IT Sectr Pubblicato: 2026-02-16 Tempo di lettura: 9 min

Dynamic Island è un'area interattiva nella parte superiore di iPhone 14 Pro e modelli successivi, che combina il ritaglio hardware della fotocamera con le notifiche software in un unico elemento dell'interfaccia. Dynamic Island adatta forma e dimensione al tipo di contenuto: chiamata, timer, musica, Live Activity, connessione AirPods. Gli sviluppatori interagiscono tramite l'API Dynamic Island basata su ActivityKit e WidgetKit. Ulteriori informazioni su Dynamic Island HIG.

Punti chiave

  • Dynamic Island — un elemento UI software-hardware su iPhone 14 Pro e successivi
  • Tre modalità — compatta, minima ed estesa con diverse dimensioni di contenuto
  • Live Activities — il modo principale per contenuti personalizzati in Dynamic Island
  • Animazioni — il sistema gestisce automaticamente le transizioni tra gli stati di Island
  • Eventi di sistema — chiamate, AirPods, Face ID, ricarica integrati in Dynamic Island

Cos'è Dynamic Island su iPhone?

Dynamic Island è un elemento dell'interfaccia di iPhone 14 Pro, 15 Pro e modelli successivi che utilizza l'area intorno alla fotocamera frontale e ai sensori Face ID per visualizzare notifiche e Live Activity. A differenza del vecchio notch, che era un elemento nero statico, Dynamic Island cambia dinamicamente forma e dimensione: si espande per mostrare un timer, si restringe per un'icona di AirPods connessi, si trasforma in un rettangolo per risultati sportivi.

Implementazione tecnica di Dynamic Island si basa sul ritaglio hardware a forma di pillola del display OLED e sull'elaborazione software dei pixel circostanti. Il sistema aumenta la frequenza di aggiornamento dei pixel a 120 Hz nell'area di Island e utilizza l'anti-aliasing per transizioni fluide tra il contenuto e l'area nera della fotocamera. Lo sviluppatore non programma Island direttamente — crea contenuti tramite ActivityKit e il sistema li posiziona automaticamente intorno al ritaglio.

Percezione dell'utente — Dynamic Island trasforma un difetto hardware in un elemento funzionale. Secondo le ricerche di Apple, gli utenti percepiscono Island come una parte naturale dello schermo dopo solo pochi giorni di utilizzo. Le animazioni di evidenziazione e cambio di attenzione — ad esempio, una notifica in arrivo sposta Island e mostra il contenuto con un effetto di espansione a 120 fotogrammi al secondo.

Modalità di visualizzazione di Dynamic Island

Dynamic Island supporta tre modalità di visualizzazione dei contenuti, che il sistema seleziona automaticamente in base al tipo e al numero di attività. Lo sviluppatore definisce l'UI per ogni modalità in WidgetBundle, ma non controlla quale modalità è attiva in un dato momento. Il sistema può anche visualizzare due attività contemporaneamente: una a sinistra del ritaglio, l'altra a destra.

ModalitàDimensioneContenutoEsempio
Compatta~50pt larghezzaIcona + testo breveTimer: icona orologio + 05:00
Minima~22pt rotondaSolo icona appNotifica screenshot
Estesa~300pt x 80ptSwiftUI View personalizzataPunteggio sportivo con loghi

Transizione tra le modalità viene eseguita con un'animazione di sistema di 0,4–0,6 secondi con curva ease-in-out. Quando appare una nuova Activity, Island si espande dalla modalità compatta a quella estesa. Al termine, si contrae di nuovo. L'utente può forzare la chiusura della modalità estesa con uno swipe a sinistra — Island passa alla modalità compatta o minima. Il sistema contrae anche la modalità estesa dopo 5 secondi di inattività se non sono previsti aggiornamenti.

Due attività — se due app hanno Live Activities attive, Dynamic Island le mostra su entrambi i lati del ritaglio. Il lato sinistro è la prima Activity avviata, il destro è la seconda. Se c'è una sola attività, occupa il lato sinistro, il destro rimane vuoto. Toccare un lato qualsiasi espande Island e mostra il contenuto di quell'Activity. Il sistema stesso decide quale Activity ha la priorità in caso di conflitto.

Creazione di contenuti per Dynamic Island

I contenuti di Dynamic Island vengono creati esclusivamente tramite Live Activity con il framework ActivityKit. Lo sviluppatore definisce quattro aree nel codice: compatta sinistra (compactLeading), compatta destra (compactTrailing), minima (minimal) ed estesa (expanded). Ogni area è una SwiftUI View che riceve lo stato corrente dell'Activity tramite context. Se un'area non è definita, Island non mostra quell'Activity nella modalità corrispondente.

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")
        }
    }
}

Limitazioni di SwiftUI in Dynamic Island — componenti disponibili: Text, Image, HStack, VStack, ZStack, Spacer, ProgressView, Button (solo tramite Link), Gauge. Vietati: ScrollView, List, TabView, animazioni, gesture recognizers. Tavolozza colori — solo System Colors (label, secondaryLabel, tint). Caratteri — dimensioni di sistema da .caption a .title3. I caratteri personalizzati e SF Symbols funzionano correttamente.

Test di Dynamic Island — Xcode fornisce un simulatore con supporto per Dynamic Island. Selezionare iPhone 14 Pro o 15 Pro come dispositivo di destinazione. ActivityKit simula diverse modalità di Island: il pulsante Dynamic Island Mode nel menu Debug di Xcode passa tra compatta, minima ed estesa. Per testare più Activities contemporaneamente, utilizzare schemi con ActivityID diversi o avviare due istanze dell'app.

Eventi di sistema in Dynamic Island

Eventi di sistema — chiamate, AirPods, Face ID, ricarica e altri — hanno la priorità sulle Live Activities personalizzate. Quando si verifica un evento di sistema, Island mette in pausa la visualizzazione del contenuto personalizzato e mostra il contenuto di sistema. Al termine dell'evento di sistema, Island torna al contenuto personalizzato con un'animazione. Lo sviluppatore non può annullare o modificare gli eventi di sistema — sono gestiti a livello di sistema operativo iOS.

Evento di sistemaFormato di visualizzazionePriorità
Chiamata in arrivoScheda minima con nome contattoAlta
AirPodsAnimazione + carica batteriaMedia
Face IDIcona lucchettoMedia
RicaricaIcona fulmine + percentualeBassa
AirDropAvanzamento trasferimentoMedia
ScreenshotAnimazione otturatoreBassa

Chiamata in arrivo — l'evento di sistema più importante. Dynamic Island mostra il nome del chiamante a sinistra del ritaglio e la durata/stato a destra. Durante una chiamata attiva, Island non mostra alcuna Live Activity personalizzata. L'utente può espandere Island per aprire la schermata della chiamata o contrarla per continuare a lavorare nell'app con la chiamata attiva in background.

Connessione AirPods — all'apertura della custodia vicino all'iPhone, Dynamic Island anima la connessione e mostra la carica di ciascun auricolare e della custodia. L'animazione dura 2–3 secondi, dopodiché Island torna allo stato precedente. Se l'utente non aveva Live Activities attive, Island rimane vuota. AirPods Pro 2 mostrano anche il volume e la modalità di cancellazione del rumore quando si preme lo stelo.

Migliori pratiche di sviluppo per Dynamic Island

Migliori pratiche di Dynamic Island di Apple sono raccomandate per garantire un'esperienza utente di qualità. La modalità compatta dovrebbe mostrare solo le informazioni più importanti — un'icona e un singolo numero o etichetta breve. La modalità estesa — solo informazioni chiave senza elementi ridondanti. Evitare di posizionare testo in modalità compatta se supera i 20 caratteri — il sistema tronca il testo con i puntini di sospensione.

Aggiornamenti push per Dynamic Island — utilizzare ActivityKit push per aggiornamenti rari (stato ordine, risultati sportivi) e aggiornamenti locali per timer frequenti o cronometri. Le notifiche push passano attraverso APNs e impiegano 0,5–2 secondi per apparire in Island. StaleDate — impostare una data di scadenza del contenuto: se un aggiornamento non arriva in tempo, il sistema mostra uno sfondo grigio invece del contenuto, segnalando all'utente dati obsoleti.

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)
        // Terminazione Activity in 2 secondi
        try? await Task.sleep(nanoseconds: 2_000_000_000)
        await activity.end(newContent)
    }
}

Consumo energetico — Dynamic Island e Live Activities hanno un impatto minimo sulla batteria grazie all'ottimizzazione hardware del display OLED. I pixel neri intorno al ritaglio sono spenti e il contenuto viene renderizzato su un coprocessore dedicato. Il consumo medio di Live Activity è inferiore all'1% della batteria per ora di utilizzo con aggiornamento ogni 5 minuti. Il sistema mette automaticamente in pausa Island quando la batteria è scarica (sotto il 20%) o in modalità di risparmio energetico.

Design per Dynamic Island non richiede l'adattamento dell'UI principale dell'app — Island funziona indipendentemente dallo schermo attivo. I colori della Live Activity devono corrispondere al tema di sistema (chiaro/scuro) tramite Color Assets di sistema. SF Symbols sono preferibili alle icone personalizzate — sono garantiti per essere visualizzati correttamente in qualsiasi modalità di Island e hanno il supporto integrato per Dynamic Type.

Domande frequenti

Come appare Dynamic Island sugli iPhone più vecchi?

Dynamic Island è disponibile solo su iPhone 14 Pro, 14 Pro Max, 15 Pro, 15 Pro Max e successivi con iOS 16.1+. Sui vecchi iPhone con notch, Dynamic Island non viene visualizzata — Live Activity appare come un banner normale sulla schermata di blocco. Lo sviluppatore non deve scrivere codice diverso: il sistema stesso adatta l'interfaccia alle capacità del dispositivo.

Si possono posizionare due Live Activities in Dynamic Island?

Dynamic Island supporta la visualizzazione di due attività contemporaneamente — vengono posizionate a sinistra e a destra del ritaglio della fotocamera. Se c'è una sola attività, occupa il lato sinistro e il destro rimane in stato compatto. Toccare un lato qualsiasi espande Island e mostra il contenuto dell'Activity corrispondente.

Quali eventi di sistema utilizzano Dynamic Island?

Eventi di sistema in Dynamic Island: chiamata in arrivo con scheda minima e nome del contatto, connessione AirPods con animazione e carica della batteria, Face ID con icona lucchetto, ricarica del dispositivo con percentuale, modalità modem, cambio volume, attivazione della modalità silenziosa, AirDrop con avanzamento trasferimento e screenshot con animazione dell'otturatore.

Come aggiungere il supporto di Dynamic Island a un'app?

Dynamic Island non richiede un'API separata — mostra Live Activities create tramite ActivityKit insieme a WidgetKit. L'app registra un'Activity con configurazione DynamicIsland, definisce SwiftUI View compatta, minima ed estesa. Il sistema la mostra automaticamente in Dynamic Island sui dispositivi supportati.

Ci sono limitazioni di contenuto in Dynamic Island?

Dynamic Island è limitata a tre stati visivi con dimensioni diverse: compatta fino a 50pt, minima fino a 22pt, estesa fino a 300pt. In modalità compatta, non è consigliato posizionare testo più lungo di 20 caratteri. Sono disponibili solo componenti SwiftUI di sistema — Text, Image, ProgressView, Gauge. Caratteri e colori personalizzati sono limitati alla tavolozza di sistema.

Riepilogo

  • Dynamic Island — area interattiva intorno al ritaglio della fotocamera su iPhone 14 Pro e successivi
  • Tre modalità — compatta, minima ed estesa con transizioni gestite dal sistema
  • Live Activity — l'unico modo per contenuti personalizzati tramite ActivityKit e WidgetKit
  • Eventi di sistema — chiamate, AirPods, Face ID, ricarica hanno priorità sui contenuti personalizzati
  • Limitazioni SwiftUI — solo Text, Image, ProgressView, HStack, VStack, ZStack, Gauge
  • Consumo energetico — meno dell'1% di batteria per ora di utilizzo con aggiornamenti ogni 5 minuti
  • Due attività — Island mostra fino a due attività contemporaneamente su entrambi i lati del ritaglio

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche