iPadOS: kulcsfogalmak, fejlesztés iPadre és Apple Pencil

Szerző: IT Sectr Megjelenés: 2026-02-07 Olvasási idő: 12 perc

iPadOS — az Apple operációs rendszere iPadhez, amelyet 2019-ben választottak le az iOS-ről. Az iPadre történő fejlesztés figyelembe veszi az egyedi lehetőségeket: a Split View és Stage Manager többfeladatos módot, az Apple Pencil alacsony késleltetésű bevitelt és az asztali Safarit.

Főbb pontok

  • iPadOS — az iOS forkja kiterjesztett multitaskinggal és Apple Pencil támogatással
  • Multitasking magában foglalja a Split View, Slide Over, Stage Manager és külső monitorokat
  • Apple Pencil — toll 9–20 ms késleltetéssel, PencilKit és hover API támogatással
  • A felület adaptálása Size Classes (regular/compact) és UISplitViewController használatával történik
  • Safari iPadOS-en asztali módban működik letöltéskezelővel

Mi az iPadOS?

iPadOS — az Apple operációs rendszere iPadhez, amelyet először 2019-ben adtak ki az iOS (13-as verzió) ágaként. Ezelőtt az iPad ugyanazt az iOS-t használta, mint az iPhone. Az iPadOS leválasztása lehetővé tette az Apple számára, hogy nagyképernyő-specifikus funkciókat valósítson meg: multitasking, asztali Safari, Drag & Drop és külső monitorok támogatása.

Az iPadOS megtartja a teljes kompatibilitást az iOS-alkalmazásokkal: bármely iPhone-alkalmazás fut iPad-en méretezési módban. A minőségi felhasználói élményhez azonban adaptáció szükséges: Size Classes, UISplitViewController használata és billentyűzetparancsok támogatása. Az Apple adatai szerint (WWDC 2025) az iPad-en töltött idő 80%-át a felhasználók táblagépes verziókban töltik, nem a méretezett verziókban.

Az iPadOS verziók története

Az iPadOS 13 (2019) elhozta a Slide Over és Split View funkciókat. Az iPadOS 14 (2020) hozzáadta az Apple Pencil Scribble-t és a kompakt UI-t. Az iPadOS 15 (2021) bevezette a Quick Note-ot és a multitasking fejlesztéseit. Az iPadOS 16 (2022) bemutatta a Stage Managert és a külső monitorok támogatását. Az iPadOS 17 (2023) interaktív widgeteket és Lock Screen testreszabást adott hozzá.

iPadOS verzióÉvKulcs innováció
iPadOS 132019Slide Over, Split View, asztali Safari
iPadOS 142020Scribble Apple Pencilhez, kompakt hívások
iPadOS 152021Quick Note, továbbfejlesztett multitasking menedzser
iPadOS 162022Stage Manager, 6K külső monitor
iPadOS 172023Interaktív widgetek, Lock Screen
iPadOS 182024Math Notes számológép, Smart Script

Az iPadOS architektúrája és különbség az iOS-től

Az iPadOS ugyanazon az XNU kernelen és Darwinon alapul, mint az iOS, de egy módosított UIKit héjat használ, amely több ablakkal és tetszőleges képernyőméretekkel való munkára van adaptálva. A kulcs architekturális különbség — az UIScene támogatása, amelyet az iOS 13-ban vezettek be.

UIScene és az ablakok életciklusa

Az iPadOS-ben minden ablak (beleértve a Split View-t is) egy külön UISceneSession saját életciklussal. Ellentétben az iPhone-nal, ahol egy alkalmazásnak egy UIWindowScene-je van, az iPad-en egy alkalmazásnak több UIScene-je lehet (több ablak, Slide Over, Stage Manager). A SceneDelegate minden ablak állapotát függetlenül kezeli.

swift
import UIKit
import SwiftUI

/// SceneDelegate több ablak támogatásához iPadOS-en
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?
    var splitVC: UISplitViewController?

    func scene(_ scene: UIScene,
                 willConnectTo session: UISceneSession,
                 options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }

        // UISplitViewController létrehozása tablet navigációhoz
        let splitVC = UISplitViewController(style: .tripleColumn)
        splitVC.primaryBackgroundStyle = .sidebar

        let sidebar = SidebarViewController()
        let primary = PrimaryViewController()
        let detail = DetailViewController()

        splitVC.viewControllers = [sidebar, primary, detail]

        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = splitVC
        window.makeKeyAndVisible()
        self.window = window
    }

    // Adaptáció ablakméret változásakor (Split View)
    func windowScene(_ windowScene: UIWindowScene,
                     didUpdate previousCoordinateSpace: UICoordinateSpace,
                     interfaceOrientation previousOrientation: UIInterfaceOrientation) {
        let isMultitasking = windowScene.traitCollection.horizontalSizeClass == .compact
        print("iPadOS multitasking mode: \(isMultitasking ? "compact" : "regular")")
    }
}

Az UISplitViewController .tripleColumn stílussal egyszerre három oszlopot jelenít meg: sidebar (navigáció), primary (lista) és detail (tartalom). Kompakt módba váltáskor (Split View másik alkalmazással) az UIKit automatikusan összecsukja az oszlopokat egy navigációs verembe. A fejlesztő nem kezeli ezt a viselkedést manuálisan — az UIKit a traitCollection-en keresztül adaptálja az elrendezést.

További különbségek az iOS-től

Az iPadOS-ben elérhető: külső meghajtók támogatása a Files-on keresztül (USB-C/Thunderbolt), Safari terminál mód elemellenőrzéssel, billentyűzetparancsok UIKeyCommand-on keresztül, rendszer letöltéskezelő, Drag & Drop alkalmazások között és Picture in Picture változtatható ablakmérettel.

Multitasking iPad-en: Split View, Slide Over, Stage Manager

Multitasking — az iPadOS kulcsfontosságú jellemzője, amely alapvetően megkülönbözteti az iOS-től. A felhasználó egyszerre több alkalmazással dolgozhat egy képernyőn. A fejlesztőnek garantálnia kell, hogy az alkalmazás minden multitasking módban helyesen működjön.

Split View

A Split View két alkalmazás között osztja meg az iPad képernyőjét 50/50 vagy 33/67 arányban. Minden alkalmazás saját UISceneSession-t kap saját memóriával és életciklussal. 600 pontnál kisebb képernyőszélességnél az UIKit kényszerítetten kompakt horizontális size class-ba kapcsolja az alkalmazást. Az alkalmazásnak helyesen kell kezelnie ezt a változást.

Slide Over

Slide Over — lebegő ablak az aktív alkalmazás felett (320 pont szélesség). A Slide Over-ben lévő alkalmazás kompakt horizontális size class-ba (.compact) kapcsol. Fontos optimalizálni a UI-t keskeny képernyőhöz. A Slide Over-ben az alkalmazás a jobb szélről húzással vagy a dokkon keresztül hívható elő. A felhasználó áthúzhatja a Slide Over-t Split View-ba, vagy jobbra húzással bezárhatja.

Stage Manager

Stage Manager (iPadOS 16+, M1 és újabb) — egy ablakkezelő, amely lehetővé teszi tetszőleges méretű átfedő ablakok létrehozását. Akár 4 ablakot támogat az iPad képernyőjén és akár 4-et a külső monitoron (összesen 8). Az alkalmazások UISceneWillConnectNotification eseményt kapnak minden új ablakhoz. A Stage Manager megváltoztatja az életciklus szabályokat: a háttérben lévő ablak nem fagy le, hanem korlátozott erőforrásokkal folytatja a működést.

MódAblakok számaAblak méreteSize Class
Teljes képernyő1100% képernyőRegular
Split View 50/50250% képernyőRegular (iPad Pro 12.9) vagy Compact
Split View 33/67233% / 67%Compact a 33%-hoz
Slide Over1 + lebegő320 ptCompact
Stage Manager1–4TetszőlegesMérettől függ

Apple Pencil és kézírás bevitel

Apple Pencil — az Apple aktív tollja döntés, nyomás és hover érzékelés támogatásával (iPad Pro M2+). A toll mozgása és a tinta megjelenítése közötti késés 9–20 ms modelltől függően. A PencilKit — a fő framework a rajzolás alkalmazásba integrálásához.

PencilKit: rajzolás integráció

PKCanvasView kész rajzfelületet biztosít tinta, ceruza, marker és radír támogatásával. PKToolPicker — az eszközválasztó panel. A fejlesztőnek nem kell megvalósítania a vonások renderelését — a PencilKit ezt hardveresen végzi Metal shaderekkel. A toll színének, vastagságának és átlátszóságának beállítása elérhető.

swift
import PencilKit
import UIKit

class DrawingViewController: UIViewController {

    private lazy var canvasView: PKCanvasView = {
        let canvas = PKCanvasView()
        canvas.tool = PKInkingTool(.pen, color: .black, width: 5)
        canvas.delegate = self
        canvas.drawingPolicy = .anyInput
        canvas.backgroundColor = .white
        return canvas
    }()

    private lazy var toolPicker: PKToolPicker = {
        let picker = PKToolPicker()
        picker.addObserver(canvasView)
        picker.setVisible(true, forFirstResponder: canvasView)
        return picker
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(canvasView)
        canvasView.frame = view.bounds
        canvasView.becomeFirstResponder()
        toolPicker.addObserver(canvasView)
    }

    // Rajz mentése PKDrawing-ban (bináris formátum)
    func saveDrawing() {
        let drawingData = canvasView.drawing.dataRepresentation()
        let url = FileManager.default.urls(
            for: .documentDirectory, in: .userDomainMask
        )[0].appendingPathComponent("drawing.drawing")
        try? drawingData.write(to: url)
    }
}

extension DrawingViewController: PKCanvasViewDelegate {
    func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {
        print("Canvas changed: \(canvasView.drawing.strokes.count) strokes")
    }
}

PKCanvasView drawingPolicy .anyInput értékkel elfogadja mind az Apple Pencil-t, mind az ujjat. A PKToolPicker lehetővé teszi a felhasználó számára az eszközök kiválasztását anélkül, hogy saját UI-t kellene írni. A PKDrawing bináris formátumban tárolódik magas tömörítési fokkal — egy óra rajzolás körülbelül 5–10 MB-ot foglal.

Scribble és szövegfelismerés

A Scribble (iPadOS 14+) lehetővé teszi a kézírásos bevitelt bármely UITextField és UITextView mezőben. A rendszer a Neural Engine segítségével ismeri fel a kézírást az eszközön. Az ML modell latin és cirill írással működik. Az iOS 17+-ban a Scribble támogatja az automatikus javítást és a következő szó előrejelzését. A fejlesztőnek nem kell kódot hozzáadnia — a Scribble automatikusan működik beviteli mező jelenlétében.

Hover API Apple Pencil Pro-hoz

Az iPadOS 17.4 és Apple Pencil Pro óta a fejlesztők hover eseményeket kapnak, amikor a toll megközelíti a képernyőt (akár 12 mm-ig). Az esemény tartalmazza a pozíciót, a nyomás erősségét és azimutot. Alkalmazás: az ecset érintési pontjának előnézete rajzoló alkalmazásokban, eszköz előnézet, vizuális visszajelzés érintés előtt.

A felület adaptálása iPadhez

Adaptív felület — kötelező követelmény az iPad alkalmazások számára. Az iPad különböző képernyőméreteken (8.3″–13″) és multitasking módokban működik. Az UIKit Size Classes (horizontal: .regular/.compact, vertical: .regular/.compact) és UISplitViewController biztosít az automatikus adaptációhoz.

Size Classes és traitCollection

Size Classes — egy absztrakció, amely meghatározza a rendelkezésre álló teret. Az iPad-en teljes képernyős módban mindkét tengely .regular. Split View-ban (50%) a horizontális osztály .compact lehet iPad mini vagy iPad Air esetén. Az Auto Layout és UICollectionViewCompositionalLayout alapú népszerű elrendezések automatikusan adaptálódnak. Az egyedi adaptáció a traitCollectionDidChange felülírásával történik.

swift
import SwiftUI

/// Adaptív elrendezés iPad-hez Size Classes használatával
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // Tablet mód: sidebar + content
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // Kompakt mód: verem navigáció
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// Példa adaptív rácsra: 3 oszlop iPad-en, 2 iPhone-on
struct ContentGridView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass

    private var columns: [GridItem] {
        let count = horizontalSizeClass == .regular ? 3 : 2
        return Array(repeating: GridItem(.flexible(), spacing: 16), count: count)
    }

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 16) {
                ForEach(items) { item in
                    ItemCard(item: item)
                }
            }
            .padding()
        }
    }
}

A példában a NavigationSplitView csak akkor használatos, ha horizontalSizeClass == .regular (iPad teljes képernyő). A NavigationStack kompakt módban alkalmazandó. A rács oszlopainak száma (3 vs 2) szintén a Size Classes-tól függően változik. Minden automatikusan frissül a multitasking mód változásakor.

UISplitViewController: háromoszlopos navigáció

Az UIKit három stílusú UISplitViewController-t biztosít: .doubleColumn (sidebar + detail), .tripleColumn (sidebar + primary + detail) és .single. Az iPadOS 16+-ban a splitViewController automatikusan vált a stílusok között a size class változásakor. A fejlesztő beállítja a viewControllers-t minden oszlophoz, az UIKit kezeli a láthatóságot.

Frameworkök és API iPadOS-hez

Az iPadOS SDK tartalmazza az összes iOS frameworköt, valamint azokat az API-kat, amelyek csak iPad-en érhetők el. Az alábbiakban a legfontosabb iPad-specifikus képességek találhatók.

Drag & Drop

Az iPadOS támogatja a Drag & Drop-ot alkalmazások között és alkalmazáson belül. A UIDragInteraction és UIDropInteraction lehetővé teszik szöveg, képek, fájlok és egyedi objektumok húzását. A Drag & Drop egyidejűleg működik a Multi-Touch-sal: a felhasználó több elemet is húzhat különböző ujjakkal. A SwiftUI-ben a .onDrag és .onDrop módosítók használatosak.

Billentyűzetparancsok

Billentyűzet csatlakoztatásakor (Magic Keyboard, Smart Keyboard) a UIKeyCommand lehetővé teszi parancsikonok hozzáadását. Az iPadOS 17+-ban a billentyűzetparancsok a Cmd hosszú lenyomásakor jelennek meg. Az Apple a szabványos kombinációk támogatását javasolja: ⌘C (másolás), ⌘V (beillesztés), ⌘F (keresés), ⌘N (új dokumentum).

Külső monitorok

Az iPadOS 17+ támogatja a külső monitorokat natív felbontással akár 6K-ig (Pro Display XDR). Az alkalmazás tartalmat jeleníthet meg a külső képernyőn UIWindowScene-en keresztül külön munkamenet-azonosítóval. A Stage Manager lehetővé teszi akár 4 változtatható méretű ablak elhelyezését a külső monitoron.

APICélElérhető iOS-ben
UISplitViewControllerTöbboszlopos navigációIgen
PencilKitApple Pencil rajzolásNem
UIDragInteractionDrag & DropIgen (csak alkalmazáson belül)
UIKeyCommandBillentyűzetparancsokIgen (csak külső billentyűzettel)
UISceneTöbbablakos módIgen (csak iPad)
UIPencilInteractionApple Pencil dupla koppintásNem
PDFKitPDF megtekintés és annotációIgen

Alkalmazások optimalizálása iPadhez

Az iPadOS-re történő fejlesztés különleges megközelítést igényel a UI/UX, teljesítmény és tesztelés terén. Az iPhone-on megbocsátható hibák kritikussá válnak iPad-en a nagyobb képernyő és a multitasking miatt.

Teljesítmény és memória

Az iPad M-sorozatú chipeket (M1, M2, M4) használ egységesített memóriával akár 16 GB-ig. Az erős hardver ellenére a Split View vagy Slide Over módban lévő alkalmazás megosztja az erőforrásokat egy másik alkalmazással. Memória nyomás magasabb, mint iPhone-on. Használjon képkompressziót, kollekciók lusta betöltését és profilozást Instruments Allocations segítségével. Az iPad Pro M4 16 GB memóriával lehetővé teszi asztali szintű alkalmazások (Final Cut Pro, Logic Pro) futtatását.

Keyboard First dizájn

Az iPad-felhasználók többsége külső billentyűzetet használ. A felületnek teljesen billentyűzetről irányíthatónak kell lennie: Tab a mezők közötti navigációhoz, Space a kiválasztott elem aktiválásához, Enter a megerősítéshez. Adjon hozzá támogatást a Full Keyboard Access-hez — a rendszerbeállításhoz, amely lehetővé teszi bármely UI elem billentyűzetről történő vezérlését.

Tesztelés valós eszközökön

Az iPad szimulátor nem reprodukálja teljesen a multitasking viselkedését. Teszteljen valós eszközön különböző módokban: Split View nehéz alkalmazással (Safari 20 lappal), Stage Manager 4 ablakkal, Slide Over gyors alkalmazásváltással. Ellenőrizze a forgatókönyvet: a felhasználó megnyitja az alkalmazást a Slide Over-ből, áthúzza Split View-ba, méretezi, bezárja — az alkalmazás nem szabad, hogy összeomoljon.

objective-c
// Aktuális multitasking mód ellenőrzése iPadOS-en
- (void)checkMultitaskingMode:(UIWindowScene *)scene {
    if (scene.traitCollection.userInterfaceIdiom != UIUserInterfaceIdiomPad) {
        return;
    }

    BOOL isFullScreen = (scene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular &&
                              scene.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassRegular);

    BOOL isSlideOver = (CGRectGetWidth(scene.coordinateSpace.bounds) == 320.0);

    if (scene.windows.first?.windowScene?.activationConditions.canBecomeFocused == YES) {
        NSLog(@"Stage Manager aktív");
    }

    if (isSlideOver) {
        NSLog(@"Slide Over mód");
    } else if (isFullScreen) {
        NSLog(@"Teljes képernyős mód");
    } else {
        NSLog(@"Split View mód");
    }
}

Gyakran Ismételt Kérdések

Miben különbözik az iPadOS az iOS-től?

Az iPadOS kiterjesztett multitaskinggal (Split View, Slide Over, Stage Manager), Apple Pencil támogatással hover érzékeléssel, asztali Safari-val letöltéskezelővel, külső monitorokkal natív felbontással és Files fájlrendszerrel rendelkezik, amely USB-C-n keresztül hozzáférést biztosít külső meghajtókhoz.

Hogyan adható hozzá a Split View támogatás egy alkalmazáshoz?

A Split View automatikusan támogatott, ha az alkalmazás UISplitViewController-t használ. Az alkalmazásnak helyesen kell kezelnie a size class változásokat: kompakt módba váltáskor használjon UINavigationController-t a képernyőveremhez. A Split View explicit elutasításához állítsa be a UIRequiresFullScreen = YES értéket az Info.plist-ben.

Hogyan integrálható az Apple Pencil egy alkalmazásba?

Használja a PencilKit-et: PKCanvasView a rajzfelülethez és PKToolPicker az eszközválasztáshoz. A toll érintésének egyedi kezeléséhez — UIEvent .hover típussal és UIPencilInteraction dupla koppintáshoz. Apple Pencil Pro késleltetése — 9 ms, előző generáció — 20 ms.

Milyen képernyőméretei vannak az iPad-nek?

iPad mini 8,3″ (2266×1488), iPad Air 10,9″ (2360×1640), iPad Pro 11″ (2388×1668), iPad Pro 13″ M4 (2752×2064). Használjon Size Classes és Auto Layout-ot az adaptációhoz. Külső monitorok akár 6K-ig Thunderbolton keresztül. A Stage Manager akár 8 ablakot támogat (4 iPad-en + 4 külső monitoron).

Támogatja az iPadOS a külső monitorokat?

Az iPadOS 17+ támogatja a külső monitorokat USB-C/Thunderbolt-on keresztül natív felbontással akár 6K-ig. Az alkalmazás tartalmat jeleníthet meg a külső monitoron egy külön UIWindowScene-en keresztül saját életciklussal. A Stage Manager akár 4 ablakot támogat a külső monitoron.

Összefoglaló

  • iPadOS — az Apple dedikált operációs rendszere iPadhez multitaskinggal, Apple Pencil-lel és asztali Safari-val
  • Multitasking magában foglalja a Split View, Slide Over (320 pt) és Stage Manager (akár 8 ablak) lehetőségeket
  • Apple Pencil a PencilKit-en keresztül támogatott 9–20 ms késleltetéssel és hover API-val
  • Adaptív UI Size Classes-t és UISplitViewController-t használ minden módhoz
  • iPadOS SDK tartalmazza a Drag & Drop, UIKeyCommand, 6K külső monitorok és UIScene elemeket
  • Stage Manager (M1+) lehetővé teszi tetszőleges méretű átfedő ablakokat
  • Tesztelés kötelező valós eszközökön minden multitasking módban

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is