Notch — temeller, ekran kesintisine arayüz uyarlaması

Yazar: IT Sectr Yayınlanma: 2026-02-28 Okuma süresi: 10 dk

Notch, iPhone ekranının üst kısmında ön kamerayı, hoparlörü ve Face ID sensörlerini barındıran bir kesintidir. İlk kez iPhone X'te (2017) tanıtılan notch, mobil arayüz tasarımına yaklaşımı değiştirdi: kesinti etrafındaki ekran alanı, içerik için "ölü bölge" haline geldi. Apple, arayüzü uyarlamak için Safe Area'yı tanıttı — içeriğin notch, yuvarlak köşeler ve Home Indicator tarafından kapatılmamasını garanti eden kenar boşlukları. Android'de benzer bir kavram, iOS'ta safeAreaInsets ve Android'de displayCutout + WindowInsets aracılığıyla uygulanır.

Anahtar Noktalar

  • Safe Area — notch, yuvarlak köşeler ve Home Indicator'dan kesinlikle arındırılmış ekran alanı
  • safeAreaInsets — iOS'ta her kenar için Safe Area kenar boşluklarını döndüren UIView özelliği
  • displayCutout — ekranda bir kesinti veya yuvarlak köşeleri tanımlayan Android sınıfı
  • WindowInsets — sistem öğeleri (durum çubuğu, notch) için kenar boşluklarını almak için Android sistemi
  • Uyarlanabilir Tasarım — arayüz, notch'lı ve notch'siz cihazlarda doğru görüntülenmelidir

Notch Nedir?

Notch (kesinti, çentik), akıllı telefon ekranının üst kısmında ön kameranın, ahize hoparlörünün, yakınlık ve ortam ışığı sensörlerinin ve iPhone X ve sonrası için kızılötesi Face ID kamerasının, nokta projektörünün ve aydınlatıcının (TrueDepth kamera sistemi) bulunduğu bir alandır. Notch, gerekli tüm sensörleri korurken kullanılabilir ekran alanını artırmak için tanıtıldı — üst çerçeve (bezel) yerine, ekran kesintinin etrafında yukarı doğru uzanır.

Boyutlar: standart iPhone notch'u yaklaşık ~34 mm genişliğinde (6,1 inç modeller için dikeyde ~209 pt) ve ~5 mm yüksekliğindedir (~30 pt). Notch'un yanlarında "kulaklar" bulunur — kesintinin sağında ve solunda küçük ekran bölümleri. Sağ "kulak" genellikle saati, pil göstergesini ve Wi-Fi'yı gösterir; sol kulak operatörü ve durumu gösterir. Manzara yönlendirmesinde iOS, durum çubuğunun tam genişliği boyunca siyah bir çubukla notch'u gizler — içerik kesinti alanında görüntülenmez.

Sadece iPhone değil: notch kavramı birçok Android üreticisi tarafından benimsendi. Google Pixel 3 XL, OnePlus 6, Huawei P20, Xiaomi Mi 8 — hepsinde kesinti vardı. Bazı üreticiler daha da ileri gitti: su damlası notch (waterdrop), punch-hole kamera (ekranda delik), sürgülü kamera (geri çekilebilir modül). Modern Android amiral gemileri (Samsung Galaxy S23+, Google Pixel 8 Pro) punch-hole kullanır — geniş bir kesinti olmadan ekranın üst kısmında kamera için minimum bir delik.

iOS'ta Safe Area: safeAreaInsets

Safe Area, bir görünüm içinde sistem arayüz öğeleri (notch, yuvarlak ekran köşeleri (corner radius), Home Indicator, sekme çubuğu (tab bar) ve gezinme çubuğu (navigation bar)) tarafından kapatılmayacağı garanti edilen dikdörtgen bir alandır. Safe Area boyutları, UIView.safeAreaInsets özelliği aracılığıyla döndürülür — top, left, bottom, right değerlerine sahip UIEdgeInsets. Notch'lu bir iPhone için, top inset = ~44 pt (dikey) veya ~0 pt (siyah çubuklu manzara).

swift
// İçerik konumlandırma için safeAreaInsets kullanımı
class NotchAwareViewController: UIViewController {

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()

        // Safe Area kenar boşluklarını okuma
        let safeArea = self.view.safeAreaInsets

        // Hata ayıklama için değerleri günlüğe kaydetme
        print("Top inset: \(safeArea.top)")    // ~44 pt notch ile
        print("Bottom inset: \(safeArea.bottom)") // ~34 pt Home Indicator ile

        // Safe Area ile başlığı konumlandırma
        titleLabel.frame = CGRect(
            x: safeArea.left + 16,
            y: safeArea.top + 16,
            width: self.view.bounds.width - safeArea.left - safeArea.right - 32,
            height: 44
        )
    }

    // Safe Area değişikliklerini işleme (dönüş, Multi-Tasking)
    override func viewSafeAreaInsetsDidChange() {
        super.viewSafeAreaInsetsDidChange()
        viewDidLayoutSubviews() // Düzenin yeniden hesaplanması
    }
}

Auto Layout ve Safe Area: Interface Builder'da "Superview" yerine çapa hedefi olarak "Safe Area"yı kullanın. Programatik düzen için safeAreaLayoutGuide'u kullanın: let guide = view.safeAreaLayoutGuide; titleLabel.topAnchor.constraint(equalTo: guide.topAnchor). iOS, cihaz döndürme, iPad'de Split View'e geçme, klavyeyi gösterme/gizleme ve yön değişikliklerinde safeAreaInsets'i otomatik olarak günceller. Tüm standart UIKit denetleyicileri (UINavigationController, UITabBarController) zaten Safe Area'yı dikkate alır. Özel görünümler ve denetleyiciler açıkça safeAreaInsets kullanmalıdır.

Android'de Notch: DisplayCutout ve WindowInsets

DisplayCutout, API 28'de (Android 9.0) eklenen ve ekrandaki kesinti alanını tanımlayan bir Android SDK sınıfıdır. WindowInsets.displayCutout() aracılığıyla elde edilebilir. Sınıf, boundingBoxList — kesintiyi/kesintileri tanımlayan dikdörtgenler listesi ve safeInsetTop/safeInsetBottom/safeInsetLeft/safeInsetRight — güvenli içerik görüntüleme için minimum kenar boşlukları döndürür. Android, çeşitli kesinti yapılandırmalarını destekler: merkezi (iPhone gibi), yan (köşede kamera), çift (iki kamera), punch-hole.

kotlin
// Activity'de DisplayCutout için arayüz uyarlaması
class NotchAwareActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Kesinti alanında içerik görüntülenmesine izin ver (gerekirse)
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            window.attributes.layoutInDisplayCutoutMode =
                WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
        }
    }

    override fun onWindowFocusChanged(hasFocus: Boolean) {
        super.onWindowFocusChanged(hasFocus)

        // WindowInsets aracılığıyla DisplayCutout alma
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && hasFocus) {
            val cutout = window.decorView.rootWindowInsets.displayCutout
            val safeTop = cutout?.safeInsetTop ?: 0

            // Üst içerik için kenar boşluğu ayarlama
            headerView.updatePadding(top = safeTop)
        }
    }
}

Görüntüleme modları (layoutInDisplayCutoutMode): ALWAYS — içerik kesinti alanında görüntülenebilir (tam ekran uygulamalar, video, oyunlar için); NEVER — içerik kesintiyi asla örtmez, sistem kenar boşlukları ekler; SHORT_EDGES — içerik yalnızca kısa kenarda kesinti alanında görüntülenir (üst notch'lı dikey uygulamalar için). Varsayılan mod SHORT_EDGES'tir (Android 12'den itibaren). Punch-hole kameralar için kesinti daha küçüktür ve birçok uygulama ekran kullanımını en üst düzeye çıkarmak için ALWAYS kullanır.

Notch'in Evrimi: iPhone X'ten Dynamic Island'a

iPhone X (2017) — notch'lı ilk Apple akıllı telefonu. Kesinti, Face ID için TrueDepth kamerasını (kızılötesi kamera, nokta projektörü ve aydınlatıcıdan oluşan bir sistem) içeriyordu. Kesinti boyutları: ~34 mm × 5 mm. iOS 11'de Apple, uygulama uyarlaması için Safe Area'yı tanıttı. Kullanıcılar ikiye bölündü: bazıları notch'u Face ID için gerekli olarak kabul etti, diğerleri ise "kesilmiş" ekran için eleştirdi.

iPhone 13 (2021) — Apple, hoparlörü üst çerçeveye taşıyarak notch'u %20 küçülttü. Bu son klasik notch'tu. iPhone 14 ve 14 Plus (2022) küçültülmüş notch'u korudu. iPhone 14 Pro ve Pro Max, Dynamic Island'ı tanıttı — kamerayı ve Face ID sensörlerini birleştiren, dinamik olarak şekil değiştiren ve sistem bildirimlerini (zamanlayıcı, müzik, AirPods bağlantısı) görüntüleyen elipsoid bir kesinti. Dynamic Island, kendi API'si (ActivityKit, Live Activities) ile bir yazılım platformu haline geldi.

NesilKesinti türüÖzelliklerSafe Area Top
iPhone X–XS (2017–2018)Büyük notchFace ID, 34×5 mm44 pt
iPhone XR (2018)NotchTouch ID, daha küçük notch44 pt
iPhone 11 (2019)NotchFace ID, geniş kesinti44 pt
iPhone 12 (2020)NotchHoparlör çerçeveye taşındı44 pt
iPhone 13 (2021)Küçültülmüş notch%20 daha küçük44 pt
iPhone 14 / 14 Plus (2022)Küçültülmüş notchFace ID yok (14 Plus)44 pt
iPhone 14 Pro (2022)Dynamic IslandUyarlanabilir kesinti54 pt
iPhone 15–16 (2023–2024)Dynamic IslandActivityKit, Live Activities54 pt

Dynamic Island sadece bir kesinti değil, etkileşimli bir arayüz öğesidir. AirPods bağlarken ada genişleyerek bir simge ve durum gösterir. Taksi çağırmak (Uber) varış süresini görüntüler. Uygulama küçültülürken adada bir zamanlayıcı görünür. Dynamic Island, iPhone 14 Pro/Pro Max, iPhone 15/15 Pro/15 Pro Max, iPhone 16/16 Pro/16 Pro Max'ta mevcuttur. Dynamic Island için Safe Area: top inset = 54 pt (klasik notch'tan 10 pt daha büyük).

Kesintili Arayüzler İçin Tasarım Kuralları

Notch'un arkasına asla içerik gizlemeyin — otomatik kenar boşluğu hesaplaması için Safe Area veya DisplayCutout kullanın. Sabit kenar boşluğu değerleri (rnk. 44 pt) ayarlamayın — bunlar farklı cihazlarda ve yönlendirmelerde farklılık gösterir. Safe Area'yı okumak için her zaman sistem API'lerini kullanın: iOS'ta safeAreaInsets, Android'de windowInsets.displayCutout. Bu, tüm cihazlarda doğru görüntülemeyi garanti eder: iPhone SE (notch'suz), iPhone 14 Pro (notch'lu), iPhone 15 (Dynamic Island), iPad (notch'suz, ancak Home Indicator'lı).

Manzara yönlendirmesi — özel bir risk alanı. Manzarada notch'lu bir iPhone'da iOS, durum çubuğunun tam genişliği boyunca otomatik olarak siyah bir çubuk ekler (içerik notch'un solunda ve sağında görüntülenmez). Bu, Safe Area inset = 0 top, ancak artırılmış sol/sağ insets (~47 pt) ile yapılır. Bu davranışı devre dışı bırakmaya çalışmayın — App Store, manzarada içerik için ekranın "yasak" alanlarını kullanan bir uygulamayı reddeder. Tam ekran video için, kontrolleri otomatik olarak notch alanının dışına yerleştiren AVPlayerViewController'ı kullanın.

KuraliOSAndroid
Kenar boşluğu API'sisafeAreaInsets / safeAreaLayoutGuideWindowInsets.displayCutout.safeInsetTop
Dönüş adaptasyonuviewSafeAreaInsetsDidChangeonWindowFocusChanged
Tam ekran moduprefersStatusBarHidden = trueSYSTEM_UI_FLAG_FULLSCREEN
Durum çubuğu içeriğiNotch etrafındaki "kulaklarda" otomatiklayoutInDisplayCutoutMode ile
ManzaraSiyah çubuk (otomatik)WindowInsets'ten kenar boşlukları
Video/OyunlarAVPlayerViewController (güvenli)LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS

Arka plan ve durum çubuğu: özel bir arka plan rengi kullanıyorsanız, notch'un arkasındaki alan da dahil olmak üzere tüm ekran alanını doldurmalıdır. Durum çubuğunun üzerine içerik çizmeyin — Safe Area kullanın. Karanlık mod için durum çubuğunun okunabilir olduğundan emin olun: arka plan stilinize uyacak şekilde preferredStatusBarStyle'ı ayarlayın (açık arka planda koyu metin için .default, koyu arka planda açık metin için .lightContent).

Notch Uyarlamasını Test Etme

Simülatörler ve emülatörler: Xcode, notch'lu tüm iPhone modellerinin (iPhone X–14) ve Dynamic Island'ın (iPhone 14 Pro–15) simülatörlerini sağlar. Android Studio, çeşitli kesinti yapılandırmalarına (Google Pixel 3 XL, cutout'lu özel emülatör) sahip emülatörler sağlar. Dikey ve manzara yönlendirmesinde, klavyeli ve klavyesiz, Split View'de (iPad) test edin. Tüm içeriğin okunabilir ve kapalı olmadığını doğrulayın.

Gerçek cihazlar: simülatördeki ve gerçek cihazdaki notch farklı olabilir. Örneğin, iPhone 14 Pro simülatörü Dynamic Island'ı gösterir, ancak gerçek etkileşim (Live Activities) olmadan. Android için bir punch-hole kamera tam olarak emüle edilmeyebilir. En iyi yöntem gerçek cihazlarda test etmektir. Minimum set: iPhone SE (notch'suz), iPhone 14 (notch'lu), iPhone 15 Pro (Dynamic Island), punch-hole'lu Android, şelale ekranlı Android (Samsung Edge).

Araçlar: iOS için, "Show Safe Area Insets" seçeneğiyle Xcode View Debugger'ı kullanın — Safe Area sınırlarını görsel olarak gösterir. Android için — Android Studio'da Attributes panelinde WindowInsets ve DisplayCutout'u görüntüleyen Layout Inspector. Ayrıca Safe Area içindeki tüm öğelerin VoiceOver/TalkBack tarafından erişilebilir olduğunu doğrulamak için Accessibility Inspector da kullanışlıdır. Notch'suz ancak Home Indicator (alt kenar boşluğu ~21 pt) ve yuvarlak köşeleri olan iPad'i unutmayın.

Sıkça Sorulan Sorular

Notch'lu bir iPhone için safeAreaInsets boyutları nelerdir?

Notch'lu (X–14) bir iPhone için dikey yönlendirmede: top = 44 pt, left = 0, right = 0, bottom = 34 pt (Home Indicator). Dynamic Island'lı (14 Pro–16) bir iPhone için: top = 54 pt, bottom = 34 pt. iPhone SE (notch'suz) için: top = 20 pt (durum çubuğu), bottom = 0 pt (Home Indicator yoksa) veya 21 pt (Home Indicator'lı modeller için). Manzarada top = 0, left = 47 pt, right = 47 pt, bottom = 21 pt.

Notch ve Dynamic Island arasındaki fark nedir?

Notch, kamera ve Face ID sensörleri için statik bir kesintidir. Dynamic Island, şekil değiştiren ve bildirimler, zamanlayıcılar, Live Activities görüntüleyen bir yazılım-donanım öğesidir. Dynamic Island, iPhone 14 Pro ve sonrasında mevcuttur. Dynamic Island için Safe Area daha büyüktür (top = 54 pt, notch için 44 pt'ye karşı). Dynamic Island, üçüncü taraf geliştiriciler için ActivityKit API'sini destekler.

Android'de kesinti kenar boşluğu nasıl alınır?

Android'de DisplayCutout kenar boşluğu WindowInsets aracılığıyla alınır. Çağrı: decorView.rootWindowInsets.displayCutout?.safeInsetTop. API 28+ (Android 9) için. Görüntüleme modu, window.attributes.layoutInDisplayCutoutMode aracılığıyla kontrol edilir: NEVER (kenar boşluğu), SHORT_EDGES (kısa kenarda kenar boşluğu), ALWAYS (kenar boşluğu yok). Punch-hole kameralar için safeInsetTop, durum çubuğu yüksekliğine (~24 dp) eşittir.

Manzarada Notch'lu bir iPhone neden siyah çubuklar gösterir?

Manzara yönlendirmesinde iOS, içeriğin kesinti alanında görüntülenmemesi için ekranın kenarlarına otomatik olarak siyah çubuklar ekler. Bu, Safe Area insets (sol/sağ ~47 pt) tarafından kontrol edilen bir sistem davranışıdır. Nedeni: manzarada, notch'un kenarlarındaki "kulaklar" yararlı içerik görüntülemek için çok küçüktür. Tam ekran uygulamalar (video, oyun) için otomatik oynatıcı kontrollü AVPlayerViewController'ı kullanabilirsiniz.

Bir uygulamada Safe Area desteği zorunlu mu?

Evet, App Store'da yayınlanan tüm uygulamalar için Safe Area kullanımı zorunludur. Apple inceleme sırasında bunu kontrol eder: içerik notch, yuvarlak köşeler veya Home Indicator tarafından kapatılırsa uygulama reddedilir. Android'de kesinti uyarlaması için WindowInsets kullanılması önerilir. Android 12'den itibaren, SHORT_EDGES modu varsayılandır ve sistem, özel düzenler kullanmayan uygulamalar için otomatik olarak kesinti kenar boşlukları ekler.

Özet

  • Notch — kamera ve sensörler için ekranın üst kısmında kesinti, iPhone X'te (2017) ortaya çıktı
  • Safe Area — sistem arayüz öğelerinden kesinlikle arındırılmış ekran alanı
  • iOS API — içerik konumlandırma için safeAreaInsets ve safeAreaLayoutGuide
  • Android API — kesinti kenar boşluklarını almak için DisplayCutout ve WindowInsets
  • Dynamic Island — iPhone 14 Pro+'da notch'un evrimi, ActivityKit ile etkileşimli öğe
  • Manzara — manzara yönlendirmesinde iOS notch için siyah çubuklar ekler
  • Test — farklı kesinti türlerine sahip cihazlarda zorunlu doğrulama

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