Ketinggian keyboard di berbagai perangkat iOS berbeda. Adakah yang tahu bagaimana saya bisa mendapatkan ketinggian keyboard perangkat secara terprogram?
ios
swift
uikeyboard
Lachtan
sumber
sumber
Jawaban:
Di Swift:
Anda bisa mengetahui tinggi keyboard dengan berlangganan
UIKeyboardWillShowNotification
notifikasi. (Dengan asumsi Anda ingin tahu berapa tingginya sebelum ditampilkan).Sesuatu seperti ini:
Cepat 2
Cepat 3
Cepat 4
Kemudian Anda dapat mengakses fungsi ketinggian
keyboardWillShow
seperti ini:Cepat 2
Cepat 3
Cepat 4
sumber
UIResponder.keyboardWillShowNotification
di bit namaSwift 3.0 dan Swift 4.1
1- Daftarkan notifikasi dengan
viewWillAppear
metode:2- Metode dipanggil:
sumber
keyboardWillShow
parameter menjadi tipeNotification
untuk membuatnya lebih sesuai dengan Swift 3.0.viewDidLoad
bukanlah ide yang baik: di mana Anda meletakkanremoveObserver
panggilan yang cocok sehingga ketika VC ini tidak lagi ditampilkan, ia berhenti menerima pemberitahuan? Lebih baik memasukkan pendaftaran untuk pemberitahuanviewWillAppear
, dan kemudianremoveObserver
meneleponviewWillDisappear
Swift 4 dan Batasan
Untuk tampilan tabel Anda, tambahkan batasan bawah yang terkait dengan area aman bawah. Dalam kasus saya, kendala disebut tableViewBottomLayoutConstraint.
sumber
Perbarui Swift 4.2
metode pemilih:
perpanjangan:
Perbarui Swift 3.0
metode pemilih:
perpanjangan:
Tip
UIKeyboardDidShowNotification atau UIKeyboardWillShowNotification mungkin dipanggil dua kali dan mendapat hasil yang berbeda, artikel ini menjelaskan mengapa dipanggil dua kali.
Di Swift 2.2
Swift 2.2 deprecates menggunakan string untuk penyeleksi dan bukannya memperkenalkan sintaks baru:
#selector
.Sesuatu seperti:
metode pemilih:
perpanjangan:
sumber
Versi yang lebih pendek di sini:
sumber
Cepat 4 .
Metode Paling Sederhana
sumber
Cepat 5
sumber
// Langkah 1: - Daftarkan NotificationCenter
// Langkah 2: - Metode ini akan dipanggil Secara Otomatis saat Keyboard muncul atau Tersembunyi
sumber
Metode oleh ZAFAR007 diperbarui untuk Swift 5 di Xcode 10
sumber
Saya harus melakukan ini. ini sedikit peretasan. tidak disarankan.
tetapi saya menemukan ini sangat membantu
saya membuat ekstensi dan struct
Ekstensi + Struktur ViewController
Penggunaan:
dapatkan batasan paling bawah
panggil fungsi di dalam viewDidLoad ()
Semoga bantuan ini.
-Anda keyboard sekarang akan otomatis menutup saat pengguna mengetuk di luar bidang teks dan
- itu akan mendorong semua tampilan ke keyboard di atas saat keyboard muncul.
-Anda juga bisa menggunakan rejectKeyboard () kapan pun Anda membutuhkannya
sumber
Saya menggunakan kode di bawah ini,
sumber