Dynamic Island: nedir, iPhone etkileşimli bildirimleri

Yazar: IT Sectr Yayınlanma: 2026-02-16 Okuma süresi: 9 dk

Dynamic Island, iPhone 14 Pro ve daha yeni modellerin üst kısmında, donanım kamera kesimini yazılım bildirimleriyle tek bir arayüz öğesinde birleştiren etkileşimli bir alandır. Dynamic Island, içerik türüne (arama, zamanlayıcı, müzik, Live Activity, AirPods bağlantısı) göre şeklini ve boyutunu uyarlar. Geliştiriciler, ActivityKit ve WidgetKit tabanlı Dynamic Island API aracılığıyla etkileşime girer. Daha fazla bilgi için Dynamic Island HIG adresini ziyaret edin.

Temel Çıkarımlar

  • Dynamic Island — iPhone 14 Pro ve sonrasında bir yazılım-donanım UI öğesi
  • Üç mod — farklı içerik boyutlarıyla kompakt, minimal ve genişletilmiş
  • Live Activities — Dynamic Island'da özel içerik için ana yöntem
  • Animasyonlar — sistem, Island durumları arasındaki geçişleri otomatik olarak yönetir
  • Sistem olayları — aramalar, AirPods, Face ID, şarj Dynamic Island'a yerleşiktir

iPhone'da Dynamic Island Nedir?

Dynamic Island, iPhone 14 Pro, 15 Pro ve daha yeni modellerde, ön kamera ve Face ID sensörleri etrafındaki alanı bildirimleri ve Live Activity'yi göstermek için kullanan bir arayüz öğesidir. Statik siyah bir öğe olan eski çentikten farklı olarak Dynamic Island, dinamik olarak şekil ve boyut değiştirir: bir zamanlayıcı göstermek için genişler, bağlı AirPods simgesi için küçülür, spor skorları için bir dikdörtgene dönüşür.

Teknik uygulama Dynamic Island, OLED ekranın donanım hap şeklindeki kesimine ve çevresindeki yazılım piksel işlemeye dayanır. Sistem, Island alanındaki piksel yenileme hızını 120 Hz'e çıkarır ve içerik ile kameranın siyah alanı arasında yumuşak geçişler için kenar yumuşatma kullanır. Geliştirici, Island'ı doğrudan programlamaz — ActivityKit aracılığıyla içerik oluşturur ve sistem bunu otomatik olarak kesimin etrafına yerleştirir.

Kullanıcı algısı — Dynamic Island, bir donanım kusurunu işlevsel bir öğeye dönüştürür. Apple araştırmalarına göre, kullanıcılar birkaç günlük kullanımdan sonra Island'ı ekranın doğal bir parçası olarak algılar. Vurgulama ve dikkat değiştirme animasyonları — örneğin, gelen bir bildirim Island'ı kaydırır ve içeriği saniyede 120 karede genişleme efektiyle gösterir.

Dynamic Island Görüntüleme Modları

Dynamic Island, sistemin etkinlik türüne ve sayısına göre otomatik olarak seçtiği üç içerik görüntüleme modunu destekler. Geliştirici, WidgetBundle'da her mod için UI'ı tanımlar ancak hangi modun etkin olduğunu kontrol etmez. Sistem ayrıca iki etkinliği aynı anda görüntüleyebilir: biri kesimin solunda, diğeri sağında.

ModBoyutİçerikÖrnek
Kompakt~50pt genişlikSimge + kısa metinZamanlayıcı: saat simgesi + 05:00
Minimal~22pt yuvarlakSadece uygulama simgesiEkran görüntüsü bildirimi
Genişletilmiş~300pt x 80ptÖzel SwiftUI ViewLogolu spor skoru

Modlar arasında geçiş, ease-in-out eğrisiyle 0,4–0,6 saniyelik bir sistem animasyonuyla gerçekleştirilir. Yeni bir Activity göründüğünde, Island kompakt moddan genişletilmiş moda geçer. Bittiğinde, tekrar küçülür. Kullanıcı, sola kaydırarak genişletilmiş modu zorla daraltabilir — Island, kompakt veya minimal moda geçer. Sistem ayrıca, güncelleme beklenmiyorsa 5 saniyelik hareketsizlikten sonra genişletilmiş modu daraltır.

İki etkinlik — iki uygulamanın etkin Live Activities'si varsa, Dynamic Island bunları kesimin her iki tarafında gösterir. Sol taraf ilk başlatılan Activity, sağ taraf ikincisidir. Yalnızca bir etkinlik varsa, sol tarafı kaplar, sağ taraf boş kalır. Herhangi bir tarafa dokunmak Island'ı genişletir ve o Activity'nin içeriğini gösterir. Çakışma durumunda hangi Activity'ye öncelik verileceğine sistem karar verir.

Dynamic Island için İçerik Oluşturma

Dynamic Island içeriği, yalnızca ActivityKit çerçevesiyle Live Activity aracılığıyla oluşturulur. Geliştirici, kodda dört alan tanımlar: kompakt sol (compactLeading), kompakt sağ (compactTrailing), minimal (minimal) ve genişletilmiş (expanded). Her alan, context aracılığıyla Activity'nin mevcut durumunu alan bir SwiftUI View'dir. Bir alan tanımlanmamışsa, Island bu Activity'yi ilgili modda göstermez.

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

Dynamic Island'da SwiftUI Sınırlamaları — mevcut bileşenler: Text, Image, HStack, VStack, ZStack, Spacer, ProgressView, Button (yalnızca Link aracılığıyla), Gauge. Yasak: ScrollView, List, TabView, animasyonlar, jest tanıyıcılar. Renk paleti — yalnızca System Colors (label, secondaryLabel, tint). Yazı tipleri — .caption'dan .title3'e sistem boyutları. Özel yazı tipleri ve SF Symbols doğru şekilde çalışır.

Dynamic Island'ı Test Etme — Xcode, Dynamic Island desteği olan bir simülatör sağlar. Hedef cihaz olarak iPhone 14 Pro veya 15 Pro'yu seçin. ActivityKit, farklı Island modlarını simüle eder: Xcode Debug menüsündeki Dynamic Island Mode düğmesi, kompakt, minimal ve genişletilmiş arasında geçiş yapar. Birden çok Activity'yi aynı anda test etmek için farklı ActivityID'lere sahip şemalar kullanın veya uygulamanın iki örneğini çalıştırın.

Dynamic Island'da Sistem Olayları

Sistem olayları — aramalar, AirPods, Face ID, şarj ve diğerleri — özel Live Activities'den önceliklidir. Bir sistem olayı meydana geldiğinde, Island özel içeriğin görüntülenmesini duraklatır ve sistem içeriğini gösterir. Sistem olayı sona erdikten sonra Island, bir animasyonla özel içeriğe geri döner. Geliştirici sistem olaylarını iptal edemez veya değiştiremez — bunlar iOS işletim sistemi düzeyinde yönetilir.

Sistem OlayıGörüntüleme BiçimiÖncelik
Gelen AramaKişi adıyla minimal kartYüksek
AirPodsAnimasyon + pil şarjıOrta
Face IDKilit simgesiOrta
ŞarjŞimşek simgesi + yüzdeDüşük
AirDropAktarım ilerlemesiOrta
Ekran GörüntüsüDeklanşör animasyonuDüşük

Gelen arama — en önemli sistem olayı. Dynamic Island, arayanın adını kesimin solunda ve süreyi/durumu sağında gösterir. Etkin bir arama sırasında Island, hiçbir özel Live Activity göstermez. Kullanıcı, arama ekranını açmak için Island'ı genişletebilir veya arka planda etkin aramayla uygulamada çalışmaya devam etmek için daraltabilir.

AirPods bağlantısı — iPhone'un yanında kutu açıldığında, Dynamic Island bağlantıyı canlandırır ve her bir kulaklığın ve kutunun şarjını gösterir. Animasyon 2–3 saniye sürer, ardından Island önceki durumuna döner. Kullanıcının etkin Live Activities'si yoksa, Island boş kalır. AirPods Pro 2, gövdeye basıldığında ses seviyesini ve gürültü önleme modunu da gösterir.

Dynamic Island Geliştirme için En İyi Uygulamalar

Dynamic Island en iyi uygulamaları Apple tarafından kaliteli bir kullanıcı deneyimi sağlamak için izlenmesi önerilir. Kompakt mod yalnızca en önemli bilgileri göstermelidir — bir simge ve tek bir sayı veya kısa etiket. Genişletilmiş mod — gereksiz öğeler olmadan yalnızca anahtar bilgiler. Kompakt modda 20 karakteri aşan metin yerleştirmekten kaçının — sistem metni üç nokta ile keser.

Dynamic Island için push güncellemeleri — nadir güncellemeler (sipariş durumu, spor sonuçları) için ActivityKit push'u ve sık zamanlayıcılar veya kronometreler için yerel güncellemeler kullanın. Push bildirimleri APNs üzerinden geçer ve Island'da görünmesi 0,5–2 saniye sürer. StaleDate — içerik son kullanma tarihi belirleyin: bir güncelleme zamanında gelmezse, sistem içerik yerine gri bir arka plan göstererek kullanıcıya güncel olmayan verileri bildirir.

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)
        // Activity 2 saniye içinde sonlandırılıyor
        try? await Task.sleep(nanoseconds: 2_000_000_000)
        await activity.end(newContent)
    }
}

Enerji tüketimi — Dynamic Island ve Live Activities, OLED ekran donanım optimizasyonu sayesinde pil üzerinde minimum etkiye sahiptir. Kesimin etrafındaki siyah pikseller kapatılır ve içerik özel bir yardımcı işlemcide işlenir. Her 5 dakikada bir güncelleme yapıldığında ortalama Live Activity tüketimi, saat başına pilin %1'inden azdır. Pil zayıf olduğunda (%20'nin altında) veya güç tasarrufu modundayken sistem Island'ı otomatik olarak duraklatır.

Dynamic Island için tasarım, ana uygulama UI'ının uyarlanmasını gerektirmez — Island, etkin ekrandan bağımsız olarak çalışır. Live Activity renkleri, sistem Color Assets aracılığıyla sistem temasıyla (açık/koyu) eşleşmelidir. SF Symbols özel simgelere tercih edilir — herhangi bir Island modunda doğru şekilde görüntülenecekleri garanti edilir ve yerleşik Dynamic Type desteğine sahiptir.

Sıkça Sorulan Sorular

Eski iPhone'larda Dynamic Island nasıl görünür?

Dynamic Island yalnızca iPhone 14 Pro, 14 Pro Max, 15 Pro, 15 Pro Max ve daha yeni modellerde iOS 16.1+ ile kullanılabilir. Çentikli eski iPhone'larda Dynamic Island görüntülenmez — Live Activity, kilit ekranında normal bir banner olarak görünür. Geliştiricinin farklı kod yazması gerekmez: sistem, arayüzü cihazın yeteneklerine göre kendisi uyarlar.

Dynamic Island'a iki Live Activity yerleştirilebilir mi?

Dynamic Island, aynı anda iki etkinliğin görüntülenmesini destekler — kamera kesiminin soluna ve sağına yerleştirilirler. Yalnızca bir etkinlik varsa, sol tarafı kaplar ve sağ taraf kompakt durumda kalır. Herhangi bir tarafa dokunmak Island'ı genişletir ve ilgili Activity'nin içeriğini gösterir.

Hangi sistem olayları Dynamic Island'ı kullanır?

Dynamic Island'daki sistem olayları: minimal kart ve kişi adıyla gelen arama, animasyon ve pil şarjıyla AirPods bağlantısı, kilit simgesiyle Face ID, yüzdeyle cihaz şarjı, modem modu, ses seviyesi değişikliği, Sessiz Mod etkinleştirme, aktarım ilerlemesiyle AirDrop ve deklanşör animasyonuyla ekran görüntüsü.

Bir uygulamaya Dynamic Island desteği nasıl eklenir?

Dynamic Island ayrı bir API gerektirmez — WidgetKit ile birlikte ActivityKit aracılığıyla oluşturulan Live Activities'leri görüntüler. Uygulama, DynamicIsland yapılandırmasıyla bir Activity kaydeder, kompakt, minimal ve genişletilmiş SwiftUI Views tanımlar. Sistem, desteklenen cihazlarda bunu Dynamic Island'da otomatik olarak gösterir.

Dynamic Island'da içerik sınırlamaları var mı?

Dynamic Island, farklı boyutlarda üç görsel durumla sınırlıdır: kompakt 50pt'ye kadar, minimal 22pt'ye kadar, genişletilmiş 300pt'ye kadar. Kompakt modda 20 karakterden uzun metin yerleştirilmesi önerilmez. Yalnızca sistem SwiftUI bileşenleri mevcuttur — Text, Image, ProgressView, Gauge. Özel yazı tipleri ve renkler sistem paletiyle sınırlıdır.

Özet

  • Dynamic Island — iPhone 14 Pro ve sonrasında kamera kesimi etrafında etkileşimli alan
  • Üç mod — sistem yönetimli geçişlerle kompakt, minimal ve genişletilmiş
  • Live Activity — ActivityKit ve WidgetKit aracılığıyla özel içerik için tek yol
  • Sistem olayları — aramalar, AirPods, Face ID, şarj özel içeriğe göre önceliklidir
  • SwiftUI sınırlamaları — yalnızca Text, Image, ProgressView, HStack, VStack, ZStack, Gauge
  • Enerji tüketimi — 5 dakikada bir güncellemeyle saat başına pilin %1'inden az
  • İki etkinlik — Island, kesimin her iki tarafında aynı anda iki etkinlik gösterir

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun