Dynamic Island: ce este, interacțiunea cu Dynamic Island

Autor: IT Sectr Publicat: 2026-02-28 Timp de citire: 9 min

Dynamic Island — o zonă interactivă în partea superioară a iPhone 14 Pro și a tuturor modelelor iPhone 15/16, care combină notificările, activitățile de fundal și indicatorii de sistem într-o singură zonă dinamică. Spre deosebire de decupajul tradițional (notch), Dynamic Island își schimbă forma și dimensiunea în funcție de contextul curent. Potrivit datelor Apple (WWDC 2024), utilizatorii interacționează cu Dynamic Island în medie de 12 ori pe zi — prin atingeri, apăsări lungi și Live Activities cu ActivityKit. Citiți mai multe despre animațiile în iOS în articolul despre Corner Radius.

Principalele puncte

  • Dynamic Island — soluția software-hardware Apple care înlocuiește decupajul cu o zonă interactivă cu geometrie variabilă.
  • Live Activities — widgeturi pe Dynamic Island care funcționează prin framework-ul ActivityKit (iOS 16.1+).
  • Trei stări: compactă (pictogramă), minimă (pilulă), extinsă (panou cu conținut).
  • ActivityKit — framework Swift pentru publicarea Live Activities pe Dynamic Island și Lock Screen.
  • Dynamic Island suportă gesturi: atingere pentru a deschide aplicația, apăsare lungă pentru a extinde panoul.

Ce este Dynamic Island?

Dynamic Island — este o zonă interactivă bazată pe soluția software-hardware Apple, prezentată în septembrie 2022 împreună cu iPhone 14 Pro. Fizic, este un decupaj în formă de pilulă, înconjurat de pixeli OLED care își schimbă dinamic culoarea și forma. Apple folosește o combinație a compartimentului hardware pentru cameră și Face ID cu randarea software a zonelor negre din jur, creând iluzia unei „insule vii".

Scopul principal al Dynamic Island este de a elimina decalajul dintre notificările de sistem și conținutul activ. În loc ca notificările să apară în centrul ecranului (ca pe Android) sau sub formă de bannere sus (ca în iOS mai vechi), Dynamic Island le integrează direct în zona hardware. Acest lucru reduce distragerea atenției și creează senzația unui spațiu unitar.

Conform datelor Apple (iOS 17 Adoption Statistics, 2024), Dynamic Island este disponibil pe 38% dintre iPhone-urile active. Începând cu iPhone 15 (2023), toate modelele din serie au primit Dynamic Island, inclusiv modelele de bază. În iOS 18, Apple a extins API-ul Live Activities, adăugând suport pentru cronometre cu numărătoare inversă și rezultate sportive direct pe Dynamic Island.

Ce modele suportă Dynamic Island

Dynamic Island este disponibil pe 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. Pe iPad, Dynamic Island lipsește. Pentru dezvoltare sub Dynamic Island este necesar Xcode 14.1+ și iOS 16.1+.

Cum funcționează Dynamic Island: trei stări

Dynamic Island suportă trei stări de afișare: compactă (compact), minimă (minimal) și extinsă (expanded). Tranziția între stări este animată folosind animații UIKit și Core Animation. Sistemul însuși gestionează prioritatea activităților: dacă mai multe aplicații încearcă să afișeze conținut simultan, iOS utilizează o coadă bazată pe timpul de începere a ultimei activități.

StareDimensiuneConținutExemplu
Compact49×18 ptPictograma aplicației + pictograma sistemuluiCronometru, muzică, apel
MinimalPână la 66×18 ptPictogramă + text scurtIndicații de navigare, pași
ExpandedPână la 364×160 ptWidget complet cu conținutScor sportiv, status taxi

Starea compactă — vizualizarea standard a Dynamic Island când o sarcină de fundal este activă. Se afișează ca o pilulă rotunjită cu pictograma aplicației în stânga și pictograma sistemului în dreapta. În mod implicit, toate Live Activities pornesc în stare compactă.

Starea minimă apare când două sau mai multe sarcini sunt active simultan. Dynamic Island se „împarte" în două elemente separate în stânga și dreapta camerei. Starea minimă permite afișarea a două surse independente de informații, de exemplu timpul până la sosirea taxiului și piesa curentă.

Starea extinsă se activează prin apăsare lungă pe Dynamic Island. În acest mod se afișează un widget complet cu conținut configurabil: titluri, descrieri, bare de progres, butoane. Starea extinsă suportă derularea și elemente interactive.

ActivityKit și Live Activities: Swift API

ActivityKit — framework Swift, prezentat în iOS 16.1, care permite aplicațiilor să publice Live Activities pe Dynamic Island și Lock Screen. ActivityKit utilizează o arhitectură bazată pe ActivityView și ActivityAttributes: primul definește tipul de conținut, al doilea — datele variabile. Framework-ul funcționează în legătură cu WidgetKit, dar spre deosebire de widgeturi, Live Activities se pot actualiza în timp real fără a deschide aplicația.

swift
import ActivityKit
import SwiftUI

// Definim atributele activității
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Pornim 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 se actualizează prin ActivityView, care redează conținut SwiftUI pentru Dynamic Island. Sistemul însuși determină ce șablon să utilizeze (compact, minim sau extins), în funcție de dimensiunea Dynamic Island și numărul de activități. Pentru a actualiza conținutul, apelați activity.update(using: contentState). Pentru a finaliza — activity.end(dismissalPolicy: .immediate).

Notificări dinamice cu actualizări Push

ActivityKit suportă actualizări push prin APNs (Apple Push Notification Service). La pornirea Live Activity, puteți solicita pushToken și trimite actualizări de pe server fără a fi nevoie să rulați aplicația pe dispozitiv. Actualizările push funcționează prin activity.pushToken și Activity.pushToStartToken pentru pornirea la distanță a Live Activity.

swift
// Actualizarea Live Activity prin Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alexei",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Curierul este aproape",
        body: "Alexei va sosi în 4 minute",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration — un parametru suplimentar care afișează o notificare deasupra Dynamic Island la actualizări importante (de exemplu, „Curierul a sosit"). Fără AlertConfiguration, conținutul se actualizează silențios, ceea ce este potrivit pentru barele de progres și cronometre.

Dynamic Island vs Notch: comparație

Notch (decupaj) — zona hardware a iPhone X–13, care conține camera frontală, senzorul Face ID și difuzorul. Notch este static: dimensiunea și forma sa nu se schimbă, iar notificările sunt afișate sub el sub formă de bannere standard. Dynamic Island, dimpotrivă, utilizează pixelii din jurul decupajului pentru a afișa conținut, făcând elementul hardware parte a interfeței.

CriteriuDynamic IslandNotch
InteractivitateSuportă atingeri, apăsări lungi, glisăriNu este interactiv
Adaptarea conținutuluiÎși schimbă forma în funcție de contextStatic, conținut sub decupaj
Live ActivitiesSuport încorporat prin ActivityKitNu — doar notificări obișnuite
MultitaskingDouă activități simultane (stânga și dreapta)Doar o singură activitate
DisponibilitateiOS 16.1+, iPhone 14 Pro și mai noiiOS 11+, iPhone X–13

Conform Apple Human Interface Guidelines (2025), Dynamic Island nu trebuie utilizat pentru reclame sau afișarea constantă a conținutului static. Live Activities sunt destinate doar sarcinilor de fundal cu un ciclu de viață clar: cronometre, livrare, sport, muzică, navigare. Încălcarea acestor reguli duce la respingerea aplicației în App Store Review.

Ciclul de viață și gesturile Dynamic Island

Dynamic Island are un ciclu de viață strict: activitatea începe cu o cerere prin Activity.request(), trece prin stările activă/ suspendată/ actualizată și se încheie cu apelul activity.end(). Sistemul poate forța încheierea activității la lipsa de memorie (de exemplu, la pornirea camerei). În acest caz, aplicația primește o notificare prin ActivityActivityState.finished.

Gesturile Dynamic Island sunt gestionate de conținutul SwiftUI din interiorul ActivityView. Gesturi standard: atingerea stării compacte deschide aplicația, apăsarea lungă deschide starea extinsă, glisarea în jos închide starea extinsă. Gesturi personalizate se adaugă prin modificatorii SwiftUI (onTapGesture, onLongPressGesture) în interiorul vizualizării activității.

Gestionarea stării finished

Când sistemul încheie Live Activity (sau utilizatorul o șterge prin glisare), aplicația trebuie să gestioneze starea finished pentru eliberarea resurselor. Se recomandă să vă abonați la Activity.activityStateUpdates și să ștergeți referințele locale la activitate după finalizare.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activity activă pe Dynamic Island")
            case .dismissed:
                print("Activity ascunsă de utilizator")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activity finalizată de sistem")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Recomandarea Apple (WWDC 2024, Session 10146): nu utilizați Dynamic Island pentru afișarea statusurilor care nu necesită atenția utilizatorului. Fiecare Live Activity trebuie să aibă un declanșator clar de pornire și finalizare. Pentru actualizări de fundal fără interfață, utilizați Background Tasks, nu Live Activities.

Întrebări frecvente

Pe ce iPhone-uri funcționează Dynamic Island?

Dynamic Island este disponibil pe iPhone 14 Pro, 14 Pro Max și toate modelele iPhone 15 și iPhone 16 (inclusiv versiunile de bază). Pentru dezvoltare este necesar iOS 16.1+ și Xcode 14.1. Pe modelele mai vechi (iPhone X–13) se utilizează decupajul static notch, care nu suportă Live Activities.

Cu ce se deosebește Dynamic Island de o notificare obișnuită?

Dynamic Island integrează notificarea în zona hardware a ecranului fără a acoperi conținutul. O notificare obișnuită apare sub formă de banner sus și dispare după câteva secunde. Live Activities pe Dynamic Island pot rămâne active ore întregi și se pot actualiza în timp real (status livrare, cronometru, muzică).

Cum să actualizez conținutul pe Dynamic Island fără a deschide aplicația?

Utilizați actualizări push prin APNs. La pornirea Live Activity, apelați activity.pushToken și trimiteți token-ul pe serverul dvs. Serverul trimite o cerere de actualizare prin APNs cu un nou ContentState. Alternativa — actualizare locală prin activity.update(using:) din aceeași aplicație.

Cum să afișez două activități simultan pe Dynamic Island?

iOS împarte automat Dynamic Island în două segmente atunci când există două Live Activities active. Fiecare activitate este afișată în stare minimă în stânga și dreapta camerei. La apăsarea lungă pe unul dintre segmente, se deschide starea extinsă doar pentru acea aplicație.

De ce Live Activity mea nu apare pe Dynamic Island?

Verificați: (1) aplicația are NSSupportsLiveActivities = YES în Info.plist, (2) ActivityAttributes și ContentState implementează Codable și Hashable, (3) versiunea iOS 16.1+, (4) dispozitivul suportă Dynamic Island. Pentru simulator, utilizați iPhone 14 Pro sau mai nou în Xcode.

Rezumat

  • Dynamic Island — zona interactivă iPhone 14 Pro+, care înlocuiește notch-ul static.
  • Suportă trei stări: compactă, minimă și extinsă cu animație lină a tranzițiilor.
  • ActivityKit — framework Swift pentru publicarea Live Activities pe Dynamic Island și Lock Screen.
  • Live Activities se actualizează prin apeluri locale sau notificări push prin APNs.
  • Gesturi: atingere pentru a merge la aplicație, apăsare lungă pentru a extinde panoul, glisare pentru a închide.
  • Dynamic Island suportă până la două activități simultane cu divizare pe segmente.
  • Apple limitează utilizarea Live Activities doar la sarcinile de fundal cu cadre temporale clare.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și