IQKeyboardManager melakukan ini untuk Anda TANPA BARIS KODE , hanya perlu menyeret dan melepas file sumber terkait ke proyek. IQKeyboardManager juga mendukung Orientasi Perangkat , Manajemen UIToolbar Otomatis , keyboardDistanceFromTextField , dan banyak lagi dari yang Anda kira.
Berikut adalah Diagram Alir Kontrol:
Langkah 1: - Ditambahkan pemberitahuan global UITextField
, UITextView
dan UIKeyboard
di kelas tunggal. Saya menyebutnya IQKeyboardManager .
Langkah2: - Jika ditemukan UIKeyboardWillShowNotification
, UITextFieldTextDidBeginEditingNotification
atau UITextViewTextDidBeginEditingNotification
pemberitahuan, maka coba dapatkan topMostViewController
instance dari UIWindow.rootViewController
hierarki. Untuk mengungkap UITextField
/ UITextView
di atasnya dengan benar, topMostViewController.view
bingkai perlu disesuaikan.
Langkah 3 : - Menghitung jarak pergerakan yang diharapkan topMostViewController.view
sehubungan dengan respons pertama UITextField
/ UITextView
.
Step4: - Pindah ke topMostViewController.view.frame
atas / bawah sesuai dengan jarak pergerakan yang diharapkan.
Step5: - Jika ditemukan UIKeyboardWillHideNotification
, UITextFieldTextDidEndEditingNotification
atau UITextViewTextDidEndEditingNotification
notifikasi, maka coba lagi untuk mendapatkan topMostViewController
instance dari UIWindow.rootViewController
hierarki.
Langkah 6: - Jarak terputus yang dihitung topMostViewController.view
yang perlu dikembalikan ke posisi semula.
Step7: - Dipulihkan topMostViewController.view.frame
sesuai dengan jarak yang terganggu.
Langkah 8: - Instance kelas IQKeyboardManager tunggal yang dibuat instance-nya saat aplikasi dimuat, sehingga setiap UITextField
/ UITextView
dalam aplikasi akan menyesuaikan secara otomatis sesuai dengan jarak pergerakan yang diharapkan.
Itu saja