Notch — əsaslar, interfeysin ekran kəsikinə uyğunlaşdırılması

Müəllif: IT Sectr Dərc olunub: 2026-02-28 Oxuma vaxtı: 10 dəq

Notch — iPhone displeyinin yuxarı hissəsində ön kameranı, dinamiki və Face ID sensorlarını yerləşdirən kəsikdir. İlk dəfə iPhone X (2017)-də təqdim edilən notch, mobil interfeyslərin layihələndirilməsinə yanaşmanı dəyişdi: kəsik ətrafındakı ekran sahəsi məzmun üçün "ölü zona" oldu. İnterfeysi uyğunlaşdırmaq üçün Apple Safe Area — məzmunun notch, yuvarlaq künclər və Home Indicator ilə örtülməməsini təmin edən kənar boşluqları təqdim etdi. Android-də oxşar konsepsiya safeAreaInsets vasitəsilə iOS-da və displayCutout + WindowInsets Android-də həyata keçirilir.

Əsas Məqamlar

  • Safe Area — notch, yuvarlaq künclər və Home Indicator-dən azad olan ekran sahəsi
  • safeAreaInsets — iOS-da UIView-in hər kənar üçün Safe Area kənar boşluqlarını qaytaran xassəsi
  • displayCutout — Android-də ekrandakı kəsik və ya yuvarlaq küncləri təsvir edən sinif
  • WindowInsets — sistem elementləri (status bar, notch) altında kənar boşluqları almaq üçün Android sistemi
  • Adaptiv dizayn — interfeys notch olan və olmayan cihazlarda düzgün göstərilməlidir

Notch nədir?

Notch (kəsik, "çəki") — smartfon ekranının yuxarı hissəsində ön kameranın, danışıq dinamikinin, yaxınlıq və işıqlandırma sensorlarının, iPhone X və daha yeni modellər üçün isə Face ID infraqırmızı kamerasının, nöqtə proyektorunun və işıqlandırıcının (TrueDepth kamera sistemi) yerləşdiyi sahədir. Notch bütün lazımi sensorları qoruyaraq istifadəyə yararlı ekran sahəsini artırmaq üçün tətbiq edilmişdir — yuxarı çərçivə (bezel) əvəzinə displey kəsik ətrafında yuxarıya doğru genişlənir.

Ölçülər: standart iPhone notch-inin eni ~34 mm (~6.1 düymlük modellər üçün portret oriyentasiyada ~209 pt) və hündürlüyü ~5 mm (~30 pt)-dir. Notch-in yanlarında "qulaqlar" (ears) — kəsikin sağında və solunda kiçik ekran hissələri qalır. Sağ "qulaq" adətən saatı, batareya göstəricisini və Wi-Fi-ı göstərir; sol — operatoru və statusu. Üfüqi oriyentasiyada iOS notch-i status zolağının bütün eni boyunca qara zolaqla gizlədir — məzmun kəsik zonasında göstərilmir.

Yalnız iPhone deyil: notch konsepsiyasını bir çox Android istehsalçısı mənimsədi. Google Pixel 3 XL, OnePlus 6, Huawei P20, Xiaomi Mi 8 — hamısında kəsik var idi. Bəzi istehsalçılar daha da irəli getdilər: "damcı" kəsik (waterdrop notch), punch-hole kamera (ekranda deşik), sürgülü kamera (çıxarılan modul). Müasir Android flaqmanları (Samsung Galaxy S23+, Google Pixel 8 Pro) geniş kəsik olmadan, ekranın yuxarı hissəsində kamera üçün minimal deşik olan punch-hole istifadə edir.

iOS-da Safe Area: safeAreaInsets

Safe Area — görünüş daxilində sistem interfeys elementləri (notch, yuvarlaq ekran küncləri (corner radius), Home Indicator, tab bar və navigation bar) tərəfindən örtülməyən düzbucaqlı sahədir. Safe Area-nın ölçüləri UIView.safeAreaInsets xassəsi — top, left, bottom, right dəyərləri olan UIEdgeInsets vasitəsilə qaytarılır. Notch-li iPhone üçün yuxarı kənar boşluq = ~44 pt (portret) və ya ~0 pt (qara zolaqlı üfüqi).

swift
// safeAreaInsets-in məzmunun yerləşdirilməsi üçün istifadəsi
class NotchAwareViewController: UIViewController {

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()

        // Safe Area kənar boşluqlarının oxunması
        let safeArea = self.view.safeAreaInsets

        // Debug üçün dəyərlərin loglanması
        print("Yuxarı inset: \(safeArea.top)")    // ~44 pt notch ilə
        print("Aşağı inset: \(safeArea.bottom)") // ~34 pt Home Indicator ilə

        // Safe Area nəzərə alınmaqla başlığın yerləşdirilməsi
        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 dəyişikliklərinin idarə edilməsi (fırlanma, Multi-Tasking)
    override func viewSafeAreaInsetsDidChange() {
        super.viewSafeAreaInsetsDidChange()
        viewDidLayoutSubviews() // Layout-un yenidən hesablanması
    }
}

Auto Layout və Safe Area: Interface Builder-də "Superview" əvəzinə anchor hədəfi olaraq "Safe Area"-dan istifadə edin. Proqram layoutu üçün safeAreaLayoutGuide-dən istifadə edin: let guide = view.safeAreaLayoutGuide; titleLabel.topAnchor.constraint(equalTo: guide.topAnchor). iOS cihazın fırlanması, iPad-də Split View-ə keçid, klaviaturanın göstərilməsi/gizlənməsi və oriyentasiya dəyişikliyi zamanı safeAreaInsets-i avtomatik yeniləyir. Bütün standart UIKit kontrollerləri (UINavigationController, UITabBarController) artıq Safe Area-nı nəzərə alır. Xüsusi görünüşlər və kontrollerlər safeAreaInsets-dən açıq şəkildə istifadə etməlidir.

Android-də Notch: DisplayCutout və WindowInsets

DisplayCutout — API 28-də (Android 9.0) əlavə edilmiş, ekrandakı kəsik sahəsini təsvir edən Android SDK sinifidir. Onu WindowInsets.displayCutout() vasitəsilə əldə etmək olar. Sinif boundingBoxList — kəsik(lər)i təsvir edən düzbucaqlılar siyahısı və safeInsetTop/safeInsetBottom/safeInsetLeft/safeInsetRight — məzmunun təhlükəsiz göstərilməsi üçün minimal kənar boşluqları qaytarır. Android müxtəlif kəsik konfiqurasiyalarını dəstəkləyir: mərkəzi (iPhone kimi), yan (küncdə kamera), qoşa (iki kamera), punch-hole.

kotlin
// Activity-də DisplayCutout altında interfeysin uyğunlaşdırılması
class NotchAwareActivity : AppCompatActivity() {

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

        // Kəsik zonasında məzmunun göstərilməsinə icazə veririk (lazım olduqda)
        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 vasitəsilə DisplayCutout-un əldə edilməsi
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && hasFocus) {
            val cutout = window.decorView.rootWindowInsets.displayCutout
            val safeTop = cutout?.safeInsetTop ?: 0

            // Yuxarı məzmun üçün kənar boşluq təyin edirik
            headerView.updatePadding(top = safeTop)
        }
    }
}

Göstərmə rejimləri (layoutInDisplayCutoutMode): ALWAYS — məzmun kəsik zonasında göstərilə bilər (tam ekran tətbiqləri, video, oyunlar üçün); NEVER — məzmun heç vaxt kəsiyi örtmür, sistem kənar boşluq əlavə edir; SHORT_EDGES — məzmun yalnız qısa tərəfdə kəsik zonasında göstərilir (yuxarıda notch olan portret tətbiqləri üçün). Standart rejim — SHORT_EDGES (Android 12-dən etibarən). Punch-hole kamera üçün kəsik daha kiçikdir və bir çox tətbiq ekrandan maksimum istifadə üçün ALWAYS istifadə edir.

Notch-in təkamülü: iPhone X-dən Dynamic Island-ə qədər

iPhone X (2017) — notch-li ilk Apple smartfonu. Kəsik Face ID üçün TrueDepth kamerasını — infraqırmızı kamera, nöqtə proyektoru (Dot Projector) və işıqlandırıcıdan (Flood Illuminator) ibarət sistemi ehtiva edirdi. Kəsik ölçüləri: ~34 mm × 5 mm. iOS 11-də Apple tətbiqlərin uyğunlaşdırılması üçün Safe Area-nı təqdim etdi. İstifadəçilər iki yerə bölündü: bəziləri notch-i Face ID üçün zərurət kimi qəbul etdi, digərləri "kəsilmiş" ekrana görə tənqid etdi.

iPhone 13 (2021) — Apple dinamiki ekranın yuxarı çərçivəsinə sürüşdürməklə notch-i 20% azaltdı. Bu son klassik notch idi. iPhone 14 və 14 Plus (2022) azaldılmış notch-i qorudu. iPhone 14 Pro və Pro Max kameranı və Face ID sensorlarını birləşdirən, dinamik olaraq formasını dəyişən və sistem bildirişlərini (taymer, musiqi, AirPods qoşulması) göstərən ellipsformalı kəsik — Dynamic Island-i təqdim etdi. Dynamic Island öz API-si (ActivityKit, Live Activities) olan proqram platformasına çevrildi.

NəsilKəsik növüXüsusiyyətlərSafe Area Top
iPhone X–XS (2017–2018)Böyük notchFace ID, 34×5 mm44 pt
iPhone XR (2018)NotchTouch ID, daha kiçik notch44 pt
iPhone 11 (2019)NotchFace ID, geniş kəsik44 pt
iPhone 12 (2020)NotchDinamik çərçivəyə sürüşdürülüb44 pt
iPhone 13 (2021)Azaldılmış notch20% daha kiçik44 pt
iPhone 14 / 14 Plus (2022)Azaldılmış notchFace ID yoxdur (14 Plus)44 pt
iPhone 14 Pro (2022)Dynamic IslandAdaptiv kəsik54 pt
iPhone 15–16 (2023–2024)Dynamic IslandActivityKit, Live Activities54 pt

Dynamic Island — sadəcə kəsik deyil, interaktiv interfeys elementidir. AirPods qoşulduqda ada genişlənərək ikona və statusu göstərir. Taksi çağırışı (Uber) gəliş vaxtını göstərir. Taymer tətbiq kiçildildikdə adada 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 modellərində mövcuddur. Dynamic Island üçün Safe Area: yuxarı kənar boşluq = 54 pt (klassik notch-dən 10 pt çox).

Kəsikli interfeyslər üçün dizayn qaydaları

Məzmunu heç vaxt notch-in arxasında gizlətməyin — kənar boşluqların avtomatik hesablanması üçün Safe Area və ya DisplayCutout istifadə edin. Sabit kənar boşluq dəyərləri təyin etməyin (məsələn, 44 pt) — onlar müxtəlif cihazlarda və müxtəlif oriyentasiyalarda fərqlənir. Safe Area-nı oxumaq üçün həmişə sistem API-lərindən istifadə edin: iOS-da safeAreaInsets, Android-də windowInsets.displayCutout. Bu, bütün cihazlarda düzgün göstərilməni təmin edir: iPhone SE (notch yoxdur), iPhone 14 Pro (notch), iPhone 15 (Dynamic Island), iPad (notch yoxdur, lakin Home Indicator ilə).

Üfüqi oriyentasiya — xüsusi risk zonası. Notch-li iPhone-da üfüqi rejimdə iOS avtomatik olaraq status zolağının bütün eni boyunca qara zolaq əlavə edir (notch-in solunda və sağında məzmun göstərilmir). Bu, sistem Safe Area inset = 0 top, lakin artırılmış left/right insets (~47 pt) ilə edilir. Bu davranışı söndürməyə çalışmayın — App Store üfüqi rejimdə məzmun üçün "qadağan" ekran zonalarından istifadə edən tətbiqi rədd edəcək. Tam ekran video üçün idarəetmə elementlərini notch zonasından kənarda avtomatik yerləşdirən AVPlayerViewController istifadə edin.

QaydaiOSAndroid
Kənar boşluqlar üçün APIsafeAreaInsets / safeAreaLayoutGuideWindowInsets.displayCutout.safeInsetTop
Fırlanmaya uyğunlaşmaviewSafeAreaInsetsDidChangeonWindowFocusChanged
Tam ekran rejimiprefersStatusBarHidden = trueSYSTEM_UI_FLAG_FULLSCREEN
Status zolağı məzmunuNotch yanında "qulaqlarda" avtomatiklayoutInDisplayCutoutMode vasitəsilə
Üfüqi oriyentasiyaQara zolaq (avtomatik)WindowInsets-dən kənar boşluqlar
Video/oyunlarAVPlayerViewController (təhlükəsiz)LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS

Fon və status zolağı: xüsusi fon rəngi istifadə edirsinizsə, o, notch arxasındakı zona da daxil olmaqla bütün ekran sahəsini doldurmalıdır. Status zolağının üzərində məzmun çəkməyin — Safe Area istifadə edin. Qaranlıq rejim üçün status zolağının oxunaqlı olduğundan əmin olun: preferredStatusBarStyle-i fon üslubunuza uyğun təyin edin (.default açıq fonda qaranlıq mətn üçün, .lightContent qaranlıq fonda açıq mətn üçün).

Notch-ə uyğunlaşmanın test edilməsi

Simulyatorlar və emulyatorlar: Xcode notch-li (iPhone X–14) və Dynamic Island-li (iPhone 14 Pro–15) bütün iPhone modellərinin simulyatorlarını təqdim edir. Android Studio müxtəlif kəsik konfiqurasiyaları olan emulyatorlar (Google Pixel 3 XL, cutout ilə xüsusi emulyator) təqdim edir. Portret və üfüqi oriyentasiyada, klaviatura ilə və klaviatura olmadan, Split View-də (iPad) test edin. Bütün məzmunun oxunaqlı və örtülməmiş olduğunu yoxlayın.

Real cihazlar: simulyatorda və real cihazda notch fərqli ola bilər. Məsələn, iPhone 14 Pro simulyatoru Dynamic Island-i göstərir, lakin real interaktivlik (Live Activities) olmadan. Android-də punch-hole kamera dəqiq emulyasiya olunmaya bilər. Ən yaxşı üsul real cihazlarda test etməkdir. Minimum dəst: iPhone SE (notch yoxdur), iPhone 14 (notch), iPhone 15 Pro (Dynamic Island), punch-hole-li Android, suallı ekranlı Android (Samsung Edge).

Alətlər: iOS üçün "Show Safe Area Insets" seçimi ilə Xcode View Debugger istifadə edin — Safe Area sərhədlərini vizual olaraq göstərəcək. Android üçün — Attributes panelində WindowInsets və DisplayCutout göstərən Android Studio Layout Inspector. Həmçinin Safe Area daxilində bütün elementlərin VoiceOver/TalkBack üçün əlçatan olduğunu yoxlamaq üçün Accessibility Inspector faydalıdır. Notch-siz, lakin Home Indicator (aşağı kənar boşluq ~21 pt) və yuvarlaq küncləri olan iPad-i unutmayın.

Tez-tez verilən suallar

Notch-li iPhone üçün safeAreaInsets ölçüsü nə qədərdir?

Notch-li iPhone (X–14) üçün portret oriyentasiyada: top = 44 pt, left = 0, right = 0, bottom = 34 pt (Home Indicator). Dynamic Island-li iPhone (14 Pro–16) üçün: top = 54 pt, bottom = 34 pt. iPhone SE (notch yoxdur) üçün: top = 20 pt (status zolağı), bottom = 0 pt (Home Indicator yoxdursa) və ya 21 pt (Home Indicator olan modellər üçün). Üfüqi rejimdə top = 0, left = 47 pt, right = 47 pt, bottom = 21 pt.

Notch və Dynamic Island arasında nə fərq var?

Notch — kamera və Face ID sensorları üçün statik kəsik. Dynamic Island — formasını dəyişən və bildirişlər, taymerlər, Live Activities göstərən proqram-aparat elementi. Dynamic Island iPhone 14 Pro və daha yeni modellərdə mövcuddur. Dynamic Island üçün Safe Area daha böyükdür (top = 54 pt vs notch üçün 44 pt). Dynamic Island üçüncü tərəf tərtibatçıları üçün ActivityKit API-ni dəstəkləyir.

Android-də kəsik altında kənar boşluğu necə əldə etmək olar?

Android-də DisplayCutout altında kənar boşluq WindowInsets vasitəsilə əldə edilir. Çağırış: decorView.rootWindowInsets.displayCutout?.safeInsetTop. API 28+ (Android 9) üçün. Göstərmə rejimi window.attributes.layoutInDisplayCutoutMode ilə idarə olunur: NEVER (kənar boşluq), SHORT_EDGES (qısa tərəfdə kənar boşluq), ALWAYS (kənar boşluq yoxdur). Punch-hole kamera üçün safeInsetTop status zolağının hündürlüyünə bərabərdir (~24 dp).

Niyə üfüqi oriyentasiyada Notch-li iPhone qara zolaqlar göstərir?

Üfüqi oriyentasiyada iOS avtomatik olaraq ekranın yanlarında qara zolaqlar əlavə edir ki, məzmun kəsik zonasında göstərilməsin. Bu, Safe Area insets (left/right ~47 pt) ilə tənzimlənən sistem davranışıdır. Səbəb: üfüqi rejimdə notch-in yanlarındakı "qulaqlar" faydalı məzmun göstərmək üçün çox kiçikdir. Tam ekran tətbiqləri (video, oyunlar) üçün avtomatik pleyer idarəetməsi ilə AVPlayerViewController istifadə edilə bilər.

Tətbiqdə Safe Area-nı dəstəkləmək məcburidirmi?

Bəli, Safe Area-dan istifadə App Store-da dərc olunan bütün tətbiqlər üçün məcburidir. Apple bunu icmalda yoxlayır: əgər məzmun notch, yuvarlaq künclər və ya Home Indicator ilə örtülürsə, tətbiq rədd edilir. Android-də tövsiyə: kəsik altında uyğunlaşma üçün WindowInsets istifadə edin. Android 12-dən etibarən SHORT_EDGES rejimi standartdır və sistem xüsusi layout istifadə etməyən tətbiqlər üçün avtomatik olaraq kəsik altında kənar boşluqlar əlavə edir.

Nəticə

  • Notch — kamera və sensorlar üçün ekranın yuxarı hissəsində kəsik, iPhone X (2017)-də ortaya çıxdı
  • Safe Area — sistem interfeys elementlərindən azad olan ekran sahəsi
  • iOS API — məzmunun yerləşdirilməsi üçün safeAreaInsets və safeAreaLayoutGuide
  • Android API — kəsik altında kənar boşluqları almaq üçün DisplayCutout və WindowInsets
  • Dynamic Island — iPhone 14 Pro+-da notch-in təkamülü, ActivityKit ilə interaktiv element
  • Üfüqi oriyentasiya — üfüqi rejimdə iOS notch üçün qara zolaqlar əlavə edir
  • Test — müxtəlif kəsik növləri olan cihazlarda məcburi yoxlama

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun