Notch — základy, přizpůsobení rozhraní výřezu obrazovky

Autor: IT Sectr Publikováno: 2026-02-28 Doba čtení: 10 min

Notch — výřez v horní části displeje iPhone, který ukrývá přední kameru, reproduktor a senzory Face ID. Poprvé představen v iPhone X (2017), notch změnil přístup k navrhování mobilních rozhraní: oblast obrazovky kolem výřezu se stala "mrtvou zónou" pro obsah. Pro přizpůsobení rozhraní Apple zavedl Safe Area — odsazení, která zaručují, že obsah není překryt notchem, zaoblenými rohy a Home Indicatorem. Na Androidu je podobný koncept realizován pomocí safeAreaInsets v iOS a displayCutout + WindowInsets v Androidu.

Hlavní Body

  • Safe Area — oblast obrazovky zaručeně prostá notche, zaoblených rohů a Home Indikátoru
  • safeAreaInsets — vlastnost UIView v iOS, která vrací odsazení Safe Area pro každý okraj
  • displayCutout — třída Androidu popisující výřez nebo zaoblené rohy na obrazovce
  • WindowInsets — systém Androidu pro získání odsazení pod systémovými prvky (stavový řádek, notch)
  • Adaptivní design — rozhraní se musí správně zobrazovat na zařízeních s notchem i bez něj

Co je Notch?

Notch (výřez, "obočí") — oblast v horní části obrazovky smartphonu, kde je umístěna přední kamera, sluchátkový reproduktor, senzory přiblížení a osvětlení a pro iPhone X a novější — infračervená kamera Face ID, projektor bodů a osvětlení (systém TrueDepth camera). Notch byl zaveden pro zvětšení užitečné plochy obrazovky při zachování všech potřebných senzorů — místo horního rámečku (bezel) se displej rozšiřuje nahoru kolem výřezu.

Rozměry: standardní notch iPhone má šířku ~34 mm (~209 pt v portrétní orientaci pro 6.1palcové modely) a výšku ~5 mm (~30 pt). Po stranách notche zůstávají "uši" (ears) — malé části obrazovky napravo a nalevo od výřezu. Pravé "ucho" obvykle zobrazuje čas, indikátor baterie a Wi-Fi; levé — operátora a stav. V krajinné orientaci iOS skrývá notch černým pruhem přes celou šířku stavového řádku — obsah se v zóně výřezu nezobrazuje.

Nejen iPhone: koncept notche převzalo mnoho výrobců Androidu. Google Pixel 3 XL, OnePlus 6, Huawei P20, Xiaomi Mi 8 — všechny měly výřez. Někteří výrobci šli dále: "kapkovitý" výřez (waterdrop notch), punch-hole kamera (otvor v obrazovce), vysouvací kamera (výsuvný modul). Moderní androidí vlajkové lodě (Samsung Galaxy S23+, Google Pixel 8 Pro) používají punch-hole — minimální otvor pro kameru v horní části obrazovky, bez širokého výřezu.

Safe Area v iOS: safeAreaInsets

Safe Area — je obdélníková oblast uvnitř view, která je zaručeně nepřekrytá systémovými prvky rozhraní: notchem, zaoblenými rohy obrazovky (corner radius), Home Indicatorem, panelem karet (tab bar) a navigačním panelem (navigation bar). Velikosti Safe Area se vracejí prostřednictvím vlastnosti UIView.safeAreaInsets — UIEdgeInsets s hodnotami top, left, bottom, right. Pro iPhone s notchem je horní odsazení = ~44 pt (portrét) nebo ~0 pt (krajina s černým pruhem).

swift
// Použití safeAreaInsets pro pozicování obsahu
class NotchAwareViewController: UIViewController {

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()

        // Čtení odsazení Safe Area
        let safeArea = self.view.safeAreaInsets

        // Logování hodnot pro ladění
        print("Horní odsazení: \(safeArea.top)")    // ~44 pt s notchem
        print("Dolní odsazení: \(safeArea.bottom)") // ~34 pt s Home Indicatorem

        // Pozicování nadpisu s ohledem na Safe Area
        titleLabel.frame = CGRect(
            x: safeArea.left + 16,
            y: safeArea.top + 16,
            width: self.view.bounds.width - safeArea.left - safeArea.right - 32,
            height: 44
        )
    }

    // Zpracování změn Safe Area (otočení, Multi-Tasking)
    override func viewSafeAreaInsetsDidChange() {
        super.viewSafeAreaInsetsDidChange()
        viewDidLayoutSubviews() // Přepočet rozvržení
    }
}

Auto Layout a Safe Area: v Interface Builderu používejte "Safe Area" jako cíl anchor místo "Superview". Pro programové rozvržení použijte safeAreaLayoutGuide: let guide = view.safeAreaLayoutGuide; titleLabel.topAnchor.constraint(equalTo: guide.topAnchor). iOS automaticky aktualizuje safeAreaInsets při otočení zařízení, přechodu do Split View na iPadu, zobrazení/skrytí klávesnice a změně orientace. Všechny standardní UIKit kontroléry (UINavigationController, UITabBarController) již Safe Area zohledňují. Vlastní view a kontroléry musí explicitně používat safeAreaInsets.

Notch v Androidu: DisplayCutout a WindowInsets

DisplayCutout — třída Android SDK, přidaná v API 28 (Android 9.0), která popisuje oblast výřezu na obrazovce. Lze ji získat pomocí WindowInsets.displayCutout(). Třída vrací boundingBoxList — seznam obdélníků popisujících výřez(y) a safeInsetTop/safeInsetBottom/safeInsetLeft/safeInsetRight — minimální odsazení pro bezpečné zobrazení obsahu. Android podporuje různé konfigurace výřezů: centrální (jako iPhone), boční (kamera v rohu), dvojitý (dvě kamery), punch-hole.

kotlin
// Přizpůsobení rozhraní pro DisplayCutout v Activity
class NotchAwareActivity : AppCompatActivity() {

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

        // Povolujeme zobrazení obsahu v zóně výřezu (pokud je třeba)
        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)

        // Získání DisplayCutout přes WindowInsets
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && hasFocus) {
            val cutout = window.decorView.rootWindowInsets.displayCutout
            val safeTop = cutout?.safeInsetTop ?: 0

            // Nastavení odsazení pro horní obsah
            headerView.updatePadding(top = safeTop)
        }
    }
}

Režimy zobrazení (layoutInDisplayCutoutMode): ALWAYS — obsah se může zobrazovat v zóně výřezu (pro full-screen aplikace, video, hry); NEVER — obsah nikdy nepřekrývá výřez, systém přidá odsazení; SHORT_EDGES — obsah se zobrazuje v zóně výřezu pouze na krátké straně (pro portrétní aplikace s notchem nahoře). Standardní režim — SHORT_EDGES (od Androidu 12). Pro punch-hole kameru je výřez menší a mnoho aplikací používá ALWAYS pro maximální využití obrazovky.

Evoluce Notche: od iPhone X k Dynamic Island

iPhone X (2017) — první smartphone Apple s notchem. Výřez obsahoval TrueDepth kameru pro Face ID — systém skládající se z infračervené kamery, projektoru bodů (Dot Projector) a osvětlení (Flood Illuminator). Rozměry výřezu: ~34 mm × 5 mm. V iOS 11 Apple představil Safe Area pro přizpůsobení aplikací. Uživatelé se rozdělili: někteří přijali notch jako nezbytnost pro Face ID, jiní jej kritizovali za "oříznutou" obrazovku.

iPhone 13 (2021) — Apple zmenšil notch o 20 % posunutím reproduktoru k hornímu rámečku obrazovky. To byl poslední klasický notch. iPhone 14 a 14 Plus (2022) si zachovaly zmenšený notch. iPhone 14 Pro a Pro Max představily Dynamic Island — elipsoidní výřez spojující kameru a senzory Face ID, který dynamicky mění tvar a zobrazuje systémová oznámení (časovač, hudba, připojení AirPods). Dynamic Island se stal softwarovou platformou s vlastním API (ActivityKit, Live Activities).

GeneraceTyp výřezuVlastnostiSafe Area Top
iPhone X–XS (2017–2018)Velký notchFace ID, 34×5 mm44 pt
iPhone XR (2018)NotchTouch ID, menší notch44 pt
iPhone 11 (2019)NotchFace ID, široký výřez44 pt
iPhone 12 (2020)NotchReproduktor posunut do rámečku44 pt
iPhone 13 (2021)Zmenšený notchO 20 % menší44 pt
iPhone 14 / 14 Plus (2022)Zmenšený notchBez Face ID (14 Plus)44 pt
iPhone 14 Pro (2022)Dynamic IslandAdaptivní výřez54 pt
iPhone 15–16 (2023–2024)Dynamic IslandActivityKit, Live Activities54 pt

Dynamic Island — není jen výřez, ale interaktivní prvek rozhraní. Při připojení AirPods se ostrov rozšíří a zobrazí ikonu a stav. Volání taxíku (Uber) zobrazí čas příjezdu. Časovač je viditelný v ostrově při minimalizaci aplikace. Dynamic Island je k dispozici na iPhone 14 Pro/Pro Max, iPhone 15/15 Pro/15 Pro Max, iPhone 16/16 Pro/16 Pro Max. Safe Area pro Dynamic Island: horní odsazení = 54 pt (o 10 pt více než klasický notch).

Designová pravidla pro rozhraní s výřezem

Nikdy neschovávejte obsah za notch — používejte Safe Area nebo DisplayCutout pro automatický výpočet odsazení. Nestavte pevné hodnoty odsazení (např. 44 pt) — liší se na různých zařízeních a v různých orientacích. Vždy používejte systémová API pro čtení Safe Area: safeAreaInsets v iOS, windowInsets.displayCutout v Androidu. To zaručuje správné zobrazení na všech zařízeních: iPhone SE (bez notche), iPhone 14 Pro (notch), iPhone 15 (Dynamic Island), iPad (bez notche, ale s Home Indicatorem).

Krajinná orientace — zvláštní riziková zóna. Na iPhonu s notchem v krajinné orientaci iOS automaticky přidá černý pruh přes celou šířku stavového řádku (obsah nalevo a napravo od notche se nezobrazuje). To se děje systémovým Safe Area inset = 0 top, ale zvýšenými left/right insets (~47 pt). Nepokoušejte se toto chování vypnout — App Store odmítne aplikaci používající "zakázané" zóny obrazovky pro obsah v krajině. Pro full-screen video používejte AVPlayerViewController, který automaticky umísťuje ovládací prvky mimo zónu notche.

PravidloiOSAndroid
API pro odsazenísafeAreaInsets / safeAreaLayoutGuideWindowInsets.displayCutout.safeInsetTop
Přizpůsobení otočeníviewSafeAreaInsetsDidChangeonWindowFocusChanged
Full-screen režimprefersStatusBarHidden = trueSYSTEM_UI_FLAG_FULLSCREEN
Obsah stavového řádkuAutomaticky v "uších" u notchePřes layoutInDisplayCutoutMode
KrajinaČerný pruh (automaticky)Odsazení z WindowInsets
Video/hryAVPlayerViewController (bezpečně)LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS

Pozadí a stavový řádek: pokud používáte vlastní barvu pozadí, měla by vyplňovat celou oblast obrazovky, včetně zóny za notchem. Nekreslete obsah přes stavový řádek — používejte Safe Area. Pro tmavý režim se ujistěte, že je stavový řádek čitelný: nastavte preferredStatusBarStyle podle stylu vašeho pozadí (.default pro tmavý text na světlém pozadí, .lightContent pro světlý text na tmavém pozadí).

Testování přizpůsobení Notchi

Simulátory a emulátory: Xcode poskytuje simulátory všech modelů iPhone s notchem (iPhone X–14) a Dynamic Island (iPhone 14 Pro–15). Android Studio poskytuje emulátory s různými konfiguracemi výřezů (Google Pixel 3 XL, vlastní emulátor s cutout). Testujte v portrétní a krajinné orientaci, s klávesnicí i bez, v Split View (iPad). Zkontrolujte, že je veškerý obsah čitelný a nepokrytý.

Reálná zařízení: notch na simulátoru a na reálném zařízení se může lišit. Například simulátor iPhone 14 Pro zobrazuje Dynamic Island, ale bez skutečné interaktivity (Live Activities). V Androidu nemusí být punch-hole kamera přesně emulována. Nejlepším způsobem je testování na reálných zařízeních. Minimální sada: iPhone SE (bez notche), iPhone 14 (notch), iPhone 15 Pro (Dynamic Island), Android s punch-hole, Android s waterfall obrazovkou (Samsung Edge).

Nástroje: pro iOS používejte Xcode View Debugger s volbou "Show Safe Area Insets" — vizuálně ukáže hranice Safe Area. Pro Android — Layout Inspector v Android Studio, který zobrazuje WindowInsets a DisplayCutout na panelu Attributes. Také Accessibility Inspector je užitečný pro kontrolu, že všechny prvky uvnitř Safe Area jsou přístupné pro VoiceOver/TalkBack. Nezapomeňte na iPad bez notche, ale s Home Indicatorem (spodní odsazení ~21 pt) a zaoblenými rohy.

Často kladené otázky

Jaká je velikost safeAreaInsets pro iPhone s notchem?

Pro iPhone s notchem (X–14) v portrétní orientaci: top = 44 pt, left = 0, right = 0, bottom = 34 pt (Home Indicator). Pro iPhone s Dynamic Island (14 Pro–16): top = 54 pt, bottom = 34 pt. Pro iPhone SE (bez notche): top = 20 pt (stavový řádek), bottom = 0 pt (pokud není Home Indicator) nebo 21 pt (pro modely s Home Indicatorem). V krajině: top = 0, left = 47 pt, right = 47 pt, bottom = 21 pt.

Jaký je rozdíl mezi Notchem a Dynamic Island?

Notch — statický výřez pro kameru a senzory Face ID. Dynamic Island — softwarově-hardwarový prvek měnící tvar a zobrazující oznámení, časovače, Live Activities. Dynamic Island je k dispozici na iPhone 14 Pro a novějších. Safe Area pro Dynamic Island je větší (top = 54 pt vs 44 pt pro notch). Dynamic Island podporuje API ActivityKit pro externí vývojáře.

Jak získat odsazení pod výřezem v Androidu?

V Androidu se odsazení pod DisplayCutout získává přes WindowInsets. Volání: decorView.rootWindowInsets.displayCutout?.safeInsetTop. Pro API 28+ (Android 9). Režim zobrazení se řídí pomocí window.attributes.layoutInDisplayCutoutMode: NEVER (odsazení), SHORT_EDGES (odsazení na krátké straně), ALWAYS (bez odsazení). Pro punch-hole kameru je safeInsetTop roven výšce stavového řádku (~24 dp).

Proč iPhone s Notchem v krajinné orientaci zobrazuje černé pruhy?

V krajinné orientaci iOS automaticky přidává černé pruhy po stranách obrazovky, aby se obsah nezobrazoval v zóně výřezu. Toto je systémové chování řízené Safe Area insets (left/right ~47 pt). Důvod: v krajině jsou "uši" po stranách notche příliš malé pro zobrazení užitečného obsahu. Pro full-screen aplikace (video, hry) lze použít AVPlayerViewController s automatickým řízením přehrávače.

Je podpora Safe Area v aplikaci povinná?

Ano, používání Safe Area je povinné pro všechny aplikace publikované v App Store. Apple to kontroluje při revizi: pokud je obsah překryt notchem, zaoblenými rohy nebo Home Indicatorem, aplikace je zamítnuta. V Androidu je doporučení: používejte WindowInsets pro přizpůsobení pod výřezem. Od Androidu 12 je režim SHORT_EDGES standardní a systém automaticky přidává odsazení pod výřezem pro aplikace, které nepoužívají vlastní rozvržení.

Shrnutí

  • Notch — výřez v horní části obrazovky pro kameru a senzory, objevil se v iPhone X (2017)
  • Safe Area — oblast obrazovky prostá systémových prvků rozhraní
  • iOS API — safeAreaInsets a safeAreaLayoutGuide pro pozicování obsahu
  • Android API — DisplayCutout a WindowInsets pro získání odsazení pod výřezem
  • Dynamic Island — evoluce notche v iPhone 14 Pro+, interaktivní prvek s ActivityKit
  • Krajina — v krajinné orientaci iOS přidává černé pruhy pro notch
  • Testování — povinná kontrola na zařízeních s různými typy výřezu

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také