Published on

Haptikalar

Authors

Haptiklar ilovangizni Β«tirikΒ» his qildiradigan taktil signallar. Siz uni taniydi: Telegram da xabar yuborganda, iOS da noto'g'ri parol kiritganda yoki boshqa qurilmaga rasm ulashganda seziladi.

Bu bilinmas tebranishlar foydalanuvchiga ekranda nima bo'layotgani haqida qo'shimcha tasdiqlash beradi β€” faqat vizual emas, taktil ham.

Swift
HapticsView.swift
import SwiftUI struct HapticsKorinishi: View { var body: some View { VStack(spacing: 20) { // Zarba haptiklari β€” turli kuch darajalari Button("Engil zarbΠ°") { let generator = UIImpactFeedbackGenerator(style: .light) generator.impactOccurred() } Button("O'rta zarba") { let generator = UIImpactFeedbackGenerator(style: .medium) generator.impactOccurred() } Button("Kuchli zarba") { let generator = UIImpactFeedbackGenerator(style: .heavy) generator.impactOccurred() } Divider() // Bildirishnoma haptiklari β€” natija turlari Button("Muvaffaqiyat") { UINotificationFeedbackGenerator().notificationOccurred(.success) } Button("Ogohlantirish") { UINotificationFeedbackGenerator().notificationOccurred(.warning) } Button("Xato") { UINotificationFeedbackGenerator().notificationOccurred(.error) } } .padding() } }
QatorVazifasi
UIImpactFeedbackGenerator(style: .light)Engil zarba haptiki generatori. .medium va .heavy ham mavjud.
.impactOccurred()Haptikni faollashtiradi β€” tugma bosilganda yoki element harakatga kelganda chaqiring.
UINotificationFeedbackGenerator()Bildirishnoma haptiki generatori β€” natija uchun mos.
.notificationOccurred(.success)Muvaffaqiyatli amal. .warning va .error ham mavjud.
UISelectionFeedbackGenerator()Tanlov o'zgarganda β€” Picker, segmented control uchun.

Qachon ishlatish

// βœ… To'g'ri ishlatish
Button("O'chirish") {
    UINotificationFeedbackGenerator().notificationOccurred(.error)
    // O'chirish amali...
}

Button("Saqlash") {
    UINotificationFeedbackGenerator().notificationOccurred(.success)
    // Saqlash amali...
}

// Picker tanlov o'zgarganda
Picker("Tur", selection: $tanlov) { ... }
    .onChange(of: tanlov) {
        UISelectionFeedbackGenerator().selectionChanged()
    }

// ❌ Haddan tashqari ishlatish β€” har bir harakatda haptik
// Foydalanuvchi sezgisini o'ldiradi β€” muhim momentlar ajralib turmaydi
Button("Orqaga") {
    UIImpactFeedbackGenerator(style: .light).impactOccurred() // Kerak emas
    dismiss()
}

Qoidalar

Haptik turiQachon
.lightKichik harakatlar β€” elementni tanlash
.mediumStandart harakatlar β€” elementni ko'chirish
.heavyMuhim harakatlar β€” tasdiqlash
.successAmal muvaffaqiyatli β€” saqlash, yuborish
.warningEhtiyot bo'lish kerak β€” hali ham oldini olish mumkin
.errorNoto'g'ri kiritish, muvaffaqiyatsiz amal
.selectionChangedPicker yoki slider qiymati o'zgardi

🎯 Topshiriq: haptik qo'shish

Uchta tugmali ko'rinish yarating: "Qo'shish", "O'chirish", "Saqlash". Har biriga mos haptik qo'shing. Haqiqiy iPhone da sinovdan o'tkazing β€” simulyatorda Taptic Engine yo'q. Har bir haptik turining qanday farq qilishini his qiling.

Buy mea coffee