- Published on
Haptikalar
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
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β’
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()
}
}
| Qator | Vazifasi |
|---|---|
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 turi | Qachon |
|---|---|
.light | Kichik harakatlar β elementni tanlash |
.medium | Standart harakatlar β elementni ko'chirish |
.heavy | Muhim harakatlar β tasdiqlash |
.success | Amal muvaffaqiyatli β saqlash, yuborish |
.warning | Ehtiyot bo'lish kerak β hali ham oldini olish mumkin |
.error | Noto'g'ri kiritish, muvaffaqiyatsiz amal |
.selectionChanged | Picker 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.