iPadOS: asosiy tushunchalar, iPad uchun dasturlash va Apple Pencil

Muallif: IT Sectr Nashr etilgan: 2026-02-07 O'qish vaqti: 12 daq

iPadOS — Apple-ning iPad uchun operatsion tizimi, 2019-yilda iOS-dan ajratilgan. iPad uchun dasturlash noyob imkoniyatlarni hisobga oladi: Split View va Stage Manager ko'p vazifaliligi, past kechikishli Apple Pencil kiritishi va desktop Safari.

Asosiy

  • iPadOS — kengaytirilgan ko'p vazifalilik va Apple Pencil qo'llab-quvvatlashi bilan iOS forkidir
  • Multitasking Split View, Slide Over, Stage Manager va tashqi monitorlarni o'z ichiga oladi
  • Apple Pencil — 9–20 ms kechikishli, PencilKit va hover API qo'llab-quvvatlovchi qalam
  • Interfeys moslashuvi Size Classes (regular/compact) va UISplitViewController dan foydalanadi
  • Safari iPadOS da yuklab olish menejeri bilan desktop rejimida ishlaydi

iPadOS nima?

iPadOS — Apple-ning iPad uchun operatsion tizimi, birinchi marta 2019-yilda iOS (13-versiya) tarmog'i sifatida chiqarilgan. Bungacha iPad iPhone bilan bir xil iOS dan foydalanar edi. iPadOS ning ajratilishi Apple ga katta ekran uchun xos funksiyalarni joriy etishga imkon berdi: ko'p vazifalilik, desktop Safari, Drag & Drop va tashqi monitorlarni qo'llab-quvvatlash.

iPadOS iOS ilovalari bilan to'liq moslikni saqlaydi: har qanday iPhone ilovasi iPad da masshtablash rejimida ishlaydi. Biroq, sifatli foydalanuvchi tajribasi uchun moslashuv talab qilinadi: Size Classes, UISplitViewController va klaviatura yorliqlarini qo'llab-quvvatlash. Apple ma'lumotlariga ko'ra (WWDC 2025), iPad dagi vaqtning 80% foydalanuvchilar planshet versiyalarida o'tkazadi, masshtablangan versiyalarda emas.

iPadOS versiyalari tarixi

iPadOS 13 (2019) Slide Over va Split View ni olib keldi. iPadOS 14 (2020) Apple Pencil Scribble va ixcham UI ni qo'shdi. iPadOS 15 (2021) Quick Note va multitasking yaxshilanishlarini taqdim etdi. iPadOS 16 (2022) Stage Manager va tashqi monitorlarni qo'llab-quvvatlashni taqdim etdi. iPadOS 17 (2023) interaktiv vidjetlar va Lock Screen sozlashni qo'shdi.

iPadOS versiyasiYilAsosiy yangilik
iPadOS 132019Slide Over, Split View, desktop Safari
iPadOS 142020Apple Pencil uchun Scribble, ixcham qo'ng'iroqlar
iPadOS 152021Quick Note, takomillashtirilgan multitasking menejeri
iPadOS 162022Stage Manager, 6K tashqi monitor
iPadOS 172023Interaktiv vidjetlar, Lock Screen
iPadOS 182024Math Notes kalkulyatori, Smart Script

iPadOS arxitekturasi va iOS dan farqi

iPadOS iOS bilan bir xil XNU yadrosi va Darwin ga asoslangan, biroq bir nechta oyna va ixtiyoriy ekran o'lchamlari bilan ishlash uchun moslashtirilgan o'zgartirilgan UIKit qobig'idan foydalanadi. Asosiy arxitektura farqi — iOS 13 da joriy etilgan UIScene qo'llab-quvvatlashi.

UIScene va oyna hayot sikli

iPadOS da har bir oyna (shu jumladan Split View dagi) o'z hayot sikliga ega alohida UISceneSession dir. iPhone dan farqli o'laroq, bitta ilova bitta UIWindowScene ga ega, iPad da esa bitta ilova bir nechta UIScene ga ega bo'lishi mumkin (bir nechta oynalar, Slide Over, Stage Manager). SceneDelegate har bir oyna holatini mustaqil boshqaradi.

swift
import UIKit
import SwiftUI

/// iPadOS da bir nechta oynalarni qo'llab-quvvatlash uchun SceneDelegate
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 }

        // Planshet navigatsiyasi uchun UISplitViewController yaratamiz
        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
    }

    // Oyna o'lchami o'zgarganda moslashish (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")")
    }
}

.tripleColumn uslubi bilan UISplitViewController bir vaqtning o'zida uchta ustunni ko'rsatadi: sidebar (navigatsiya), primary (ro'yxat) va detail (mazmun). Kompakt rejimga o'tishda (boshqa ilova bilan Split View) UIKit avtomatik ravishda ustunlarni navigatsiya stekiga yig'adi. Dasturchi bu xatti-harakatni qo'lda boshqarmaydi — UIKit tartibni traitCollection orqali moslashtiradi.

iOS dan qo'shimcha farqlar

iPadOS da mavjud: Files orqali tashqi disklarni qo'llab-quvvatlash (USB-C/Thunderbolt), elementlarni tekshirish bilan Safari terminal rejimi, UIKeyCommand orqali klaviatura yorliqlari, tizim yuklab olish menejeri, ilovalar o'rtasida Drag & Drop va o'zgaruvchan oyna o'lchamli Picture in Picture.

iPad da Multitasking: Split View, Slide Over, Stage Manager

Multitasking — iPadOS ning iOS dan tubdan farq qiluvchi asosiy xususiyatidir. Foydalanuvchi bir ekranda bir nechta ilovalar bilan bir vaqtda ishlashi mumkin. Dasturchi ilova har qanday ko'p vazifalilik rejimida to'g'ri ishlashini kafolatlagan bo'lishi kerak.

Split View

Split View iPad ekranini ikki ilova o'rtasida 50/50 yoki 33/67 nisbatda bo'ladi. Har bir ilova o'z xotirasi va hayot sikli bilan o'z UISceneSession ni oladi. Ekran kengligi 600 nuqtadan kam bo'lganda, UIKit majburiy ravishda ilovani ixcham gorizontal size class ga o'tkazadi. Ilova bu o'zgarishni to'g'ri boshqarishi kerak.

Slide Over

Slide Over — faol ilova ustidagi suzuvchi oyna (kengligi 320 nuqta). Slide Over dagi ilova ixcham gorizontal size class (.compact) ga o'tadi. Tor ekran uchun UI ni optimallashtirish muhim. Slide Over da ilova o'ng chekkadan surish yoki dok orqali chaqirilishi mumkin. Foydalanuvchi Slide Over ni Split View ga tortib yoki o'ngga surib yopishi mumkin.

Stage Manager

Stage Manager (iPadOS 16+, M1 va undan yangilari) — ixtiyoriy o'lchamdagi bir-birini yopib turuvchi oynalarni yaratishga imkon beruvchi oyna menejeri. iPad ekranida 4 tagacha va tashqi monitorlarda 4 tagacha oynani qo'llab-quvvatlaydi (jami 8). Ilovalar har bir yangi oyna uchun UISceneWillConnectNotification hodisasini oladi. Stage Manager hayot sikli qoidalarini o'zgartiradi: fondagi oyna muzlatilmaydi, balki cheklangan resurslar bilan ishlashda davom etadi.

RejimOyna soniOyna o'lchamiSize Class
To'liq ekran1100% ekranRegular
Split View 50/50250% ekranRegular (iPad Pro 12.9) yoki Compact
Split View 33/67233% / 67%33% uchun Compact
Slide Over1 + suzuvchi320 ptCompact
Stage Manager1–4IxtiyoriyO'lchamga bog'liq

Apple Pencil va qo'lda yozish kiritishi

Apple Pencil — egilish, bosim va hover aniqlashni qo'llab-quvvatlovchi faol Apple qalami (iPad Pro M2+). Qalam harakati va siyoh ko'rsatilishi o'rtasidagi kechikish modelga qarab 9–20 ms ni tashkil qiladi. PencilKit — ilovaga rasm chizish integratsiyasi uchun asosiy freymvork.

PencilKit: rasm chizish integratsiyasi

PKCanvasView siyoh, qalam, marker va o'chirg'ich bilan tayyor rasm chizish yuzasini taqdim etadi. PKToolPicker — asboblarni tanlash paneli. Dasturchi chizishlarni render qilishni amalga oshirishi shart emas — PencilKit buni Metal shaderlari bilan apparat darajasida bajaradi. Rang, qalinlik va qalam shaffofligini sozlash mavjud.

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

    // Chizmani PKDrawing da saqlash (ikkilik format)
    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 bilan Apple Pencil ni ham, barmoqni ham qabul qiladi. PKToolPicker foydalanuvchiga o'z UI ni yozmasdan asboblarni tanlash imkonini beradi. PKDrawing yuqori siqilish darajasi bilan ikkilik formatda saqlanadi — bir soatlik chizish taxminan 5–10 MB ni egallaydi.

Scribble va matnni aniqlash

Scribble (iPadOS 14+) har qanday UITextField va UITextView da qo'lda yozish imkonini beradi. Tizim Neural Engine yordamida qurilmada qo'lyozmani taniydi. ML modeli lotin va kirill alifbosi bilan ishlaydi. iOS 17+ da Scribble avtomatik tuzatish va keyingi so'zni bashorat qilishni qo'llab-quvvatlaydi. Dasturchi kod qo'shishi shart emas — Scribble kiritish maydoni mavjud bo'lganda avtomatik ishlaydi.

Apple Pencil Pro uchun Hover API

iPadOS 17.4 va Apple Pencil Pro dan boshlab, dasturchilar qalam ekranga yaqinlashganda hover hodisalarini oladi (12 mm gacha). Hodisa o'rin, bosim kuchi va azimutni o'z ichiga oladi. Qo'llanilishi: rasm chizish dasturlarida cho'tka teginish nuqtasini oldindan ko'rish, asbobni oldindan ko'rish, teginishdan oldin vizual teskari aloqa.

Interfeysni iPad ga moslashtirish

Moslashuvchan interfeys — iPad ilovalari uchun majburiy talab. iPad turli ekran o'lchamlarida (8.3″–13″) va ko'p vazifalilik rejimlarida ishlaydi. UIKit avtomatik moslashish uchun Size Classes (horizontal: .regular/.compact, vertical: .regular/.compact) va UISplitViewController ni taqdim etadi.

Size Classes va traitCollection

Size Classes — mavjud bo'shliqni aniqlovchi abstraktsiyadir. To'liq ekran rejimida iPad da ikkala o'q — .regular. Split View da (50%) gorizontal class iPad mini yoki iPad Air da .compact bo'lishi mumkin. Auto Layout va UICollectionViewCompositionalLayout da qurilgan barcha mashhur tartiblar avtomatik moslashadi. Maxsus moslashish traitCollectionDidChange ni qayta yozish orqali amalga oshiriladi.

swift
import SwiftUI

/// Size Classes yordamida iPad uchun moslashuvchan layout
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // Planshet rejimi: sidebar + content
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // Ixcham rejim: stek navigatsiyasi
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// Moslashuvchan panjara namunasi: iPad da 3 ustun, iPhone da 2
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()
        }
    }
}

Misolda, NavigationSplitView faqat horizontalSizeClass == .regular bo'lganda ishlatiladi (to'liq ekran iPad). NavigationStack ixcham rejimda qo'llaniladi. Panjara ustunlari soni (3 vs 2) ham Size Classes ga qarab o'zgaradi. Hammasi ko'p vazifalilik rejimi o'zgarganda avtomatik yangilanadi.

UISplitViewController: uch ustunli navigatsiya

UIKit uch uslub bilan UISplitViewController ni taqdim etadi: .doubleColumn (sidebar + detail), .tripleColumn (sidebar + primary + detail) va .single. iPadOS 16+ da splitViewController size class o'zgarganda uslublar o'rtasida avtomatik o'tadi. Dasturchi har bir ustun uchun viewControllers ni belgilaydi, UIKit ko'rinishni boshqaradi.

iPadOS uchun Freymvorklar va API

iPadOS SDK barcha iOS freymvorklarini, shuningdek faqat iPad da mavjud bo'lgan API larni o'z ichiga oladi. Quyida asosiy iPad-ga xos imkoniyatlar keltirilgan.

Drag & Drop

iPadOS ilovalar o'rtasida va ilova ichida Drag & Drop ni qo'llab-quvvatlaydi. UIDragInteraction va UIDropInteraction matn, tasvir, fayl va maxsus obyektlarni sudrab olish imkonini beradi. Drag & Drop Multi-Touch bilan bir vaqtda ishlaydi: foydalanuvchi turli barmoqlari bilan bir nechta elementlarni sudrab olishi mumkin. SwiftUI da .onDrag va .onDrop modifierlari ishlatiladi.

Klaviatura yorliqlari

Klaviatura ulanganda (Magic Keyboard, Smart Keyboard) UIKeyCommand yorliqlarni qo'shish imkonini beradi. iPadOS 17+ da klaviatura yorliqlari Cmd tugmasini uzoq bosganda ko'rsatiladi. Apple standart kombinatsiyalarni qo'llab-quvvatlashni tavsiya qiladi: ⌘C (nusxalash), ⌘V (joylashtirish), ⌘F (qidirish), ⌘N (yangi hujjat).

Tashqi monitorlar

iPadOS 17+ 6K gacha (Pro Display XDR) mahalliy rezolyusiyali tashqi monitorlarni qo'llab-quvvatlaydi. Ilova alohida sessiya identifikatori bilan UIWindowScene orqali tashqi ekranda mazmun ko'rsatishi mumkin. Stage Manager tashqi monitorlarda o'zgaruvchan o'lchamdagi 4 tagacha oynani joylashtirish imkonini beradi.

APIMaqsadiOS da mavjud
UISplitViewControllerKo'p ustunli navigatsiyaHa
PencilKitApple Pencil chizishYo'q
UIDragInteractionDrag & DropHa (faqat ilova ichida)
UIKeyCommandKlaviatura yorliqlariHa (faqat tashqi klaviatura bilan)
UISceneKo'p oynali rejimHa (faqat iPad)
UIPencilInteractionApple Pencil ikki marta bosishYo'q
PDFKitPDF ko'rish va izohlashHa

Ilovalarni iPad uchun optimallashtirish

iPadOS uchun dasturlash UI/UX, ishlash va testlashga alohida yondashuvni talab qiladi. iPhone da kechiriladigan xatolar katta ekran va ko'p vazifalilik sababli iPad da muhim bo'ladi.

Ishlash va xotira

iPad 16 GB gacha birlashtirilgan xotiraga ega M seriyali chiplardan (M1, M2, M4) foydalanadi. Kuchli apparatga qaramay, Split View yoki Slide Over dagi ilova resurslarni boshqa ilova bilan baham ko'radi. Xotira bosimi iPhone dan yuqori. Tasvir siqish, kolleksiyalarni kech yuklash va Instruments Allocations orqali profillashdan foydalaning. 16 GB bilan iPad Pro M4 desktop darajasidagi ilovalarni (Final Cut Pro, Logic Pro) ishga tushirish imkonini beradi.

Keyboard First dizayn

iPad foydalanuvchilarining aksariyati tashqi klaviaturadan foydalanadi. Interfeys klaviaturadan to'liq boshqariladigan bo'lishi kerak: Tab maydonlar bo'ylab navigatsiya uchun, Space tanlangan elementni faollashtirish uchun, Enter tasdiqlash uchun. Full Keyboard Access qo'llab-quvvatlashni qo'shing — har qanday UI elementini klaviaturadan boshqarish imkonini beruvchi tizim sozlamasi.

Haqiqiy qurilmalarda testlash

iPad simulyatori ko'p vazifalilik xatti-harakatini to'liq takrorlamaydi. Haqiqiy qurilmada turli rejimlarda test qiling: og'ir ilova bilan Split View (20 varaqli Safari), 4 oynali Stage Manager, tez ilova almashinuvi bilan Slide Over. Ssenariyni tekshiring: foydalanuvchi ilovani Slide Over dan ochadi, Split View ga tortadi, o'lchamini o'zgartiradi, yopadi — ilova ishdan chiqmasligi kerak.

objective-c
// iPadOS da joriy ko'p vazifalilik rejimini tekshirish
- (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 faol");
    }

    if (isSlideOver) {
        NSLog(@"Slide Over rejimi");
    } else if (isFullScreen) {
        NSLog(@"To'liq ekran rejimi");
    } else {
        NSLog(@"Split View rejimi");
    }
}

Tez-tez beriladigan savollar

iPadOS iOS dan nima bilan farq qiladi?

iPadOS kengaytirilgan ko'p vazifalilikka (Split View, Slide Over, Stage Manager), hover aniqlash bilan Apple Pencil qo'llab-quvvatlashiga, yuklab olish menejeri bilan desktop Safari ga, mahalliy rezolyusiyali tashqi monitorlarga va USB-C orqali tashqi disklarga kirish imkoniyatiga ega Files fayl tizimiga ega.

Ilovaga Split View qo'llab-quvvatlashini qanday qo'shish kerak?

Split View, ilova UISplitViewController dan foydalansa, avtomatik qo'llab-quvvatlanadi. Ilova size class o'zgarishlarini to'g'ri boshqarishi kerak: ixcham rejimga o'tishda ekranlar steki uchun UINavigationController dan foydalaning. Split View dan aniq voz kechish uchun Info.plist da UIRequiresFullScreen = YES ni belgilang.

Apple Pencil ni ilovaga qanday integratsiya qilish kerak?

PencilKit dan foydalaning: chizish yuzasi uchun PKCanvasView va asbob tanlash uchun PKToolPicker. Qalam teginishlarini maxsus qayta ishlash uchun — .hover tipidagi UIEvent va ikki marta bosish uchun UIPencilInteraction. Apple Pencil Pro kechikishi — 9 ms, oldingi avlod — 20 ms.

iPad ekran o'lchamlari qanday?

iPad mini 8.3″ (2266×1488), iPad Air 10.9″ (2360×1640), iPad Pro 11″ (2388×1668), iPad Pro 13″ M4 (2752×2064). Moslashish uchun Size Classes va Auto Layout dan foydalaning. Thunderbolt orqali 6K gacha tashqi monitorlar. Stage Manager 8 tagacha oynani qo'llab-quvvatlaydi (4 iPad da + 4 tashqi monitor).

iPadOS tashqi monitorlarni qo'llab-quvvatlaydimi?

iPadOS 17+ USB-C/Thunderbolt orqali 6K gacha mahalliy rezolyusiyali tashqi monitorlarni qo'llab-quvvatlaydi. Ilova o'z hayot sikli bilan alohida UIWindowScene orqali tashqi monitorlarda mazmun ko'rsatishi mumkin. Stage Manager tashqi monitorlarda 4 tagacha oynani qo'llab-quvvatlaydi.

Xulosa

  • iPadOS — ko'p vazifalilik, Apple Pencil va desktop Safari bilan Apple-ning iPad uchun ajratilgan OT
  • Multitasking Split View, Slide Over (320 pt) va Stage Manager (8 oynagacha) ni o'z ichiga oladi
  • Apple Pencil 9–20 ms kechikish va hover API bilan PencilKit orqali qo'llab-quvvatlanadi
  • Moslashuvchan UI barcha rejimlar uchun Size Classes va UISplitViewController dan foydalanadi
  • iPadOS SDK Drag & Drop, UIKeyCommand, 6K tashqi monitorlar va UIScene ni o'z ichiga oladi
  • Stage Manager (M1+) ixtiyoriy o'lchamdagi bir-birini yopib turuvchi oynalarga imkon beradi
  • Testlash barcha ko'p vazifalilik rejimlarida haqiqiy qurilmalarda majburiy

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing