Apakah mungkin untuk secara terprogram mengubah jenis keyboard dari uitextfield sehingga sesuatu seperti ini dimungkinkan:
if(user is prompted for numeric input only)
[textField setKeyboardType: @"Number Pad"];
if(user is prompted for alphanumeric input)
[textField setKeyboardType: @"Default"];
iphone
ios
uitextfield
uikeyboard
eric.mitchell
sumber
sumber
doozy
menjadi sesuatu yang lebih umum dimengerti .. perlu diingat SO adalah situs internasional dan bukan situs Amerika UtaraJawaban:
Ada
keyboardType
properti untukUITextField
:Kode Anda harus dibaca
sumber
UITextInputTraits
protokol, yangUITextField
mengadopsi.Perlu dicatat bahwa jika Anda ingin bidang yang saat ini difokuskan untuk segera memperbarui jenis keyboard, ada satu langkah tambahan:
Tanpa ajakan untuk
reloadInputViews
, keyboard tidak akan berubah sampai bidang yang dipilih ( responden pertama ) kehilangan dan mendapatkan kembali fokus.Daftar lengkap
UIKeyboardType
nilai dapat ditemukan di sini , atau:sumber
[textField reloadInputViews];
karena saya hilang. Terima kasih!reloadInputViews
juga berfungsi untukUITextInput
implementasi yang dipesan lebih dahulu .Ya, Anda bisa, misalnya:
sumber
Ini untuk cepat. Agar ini berfungsi dengan baik, harus diatur setelah
textFieldView.delegate = self
sumber
untuk membuat bidang teks menerima alfanumerik hanya setel properti ini
sumber
sumber
Cepat 4
Jika Anda mencoba mengubah jenis keyboard Anda ketika suatu kondisi terpenuhi, ikuti ini. Sebagai contoh: Jika kita ingin mengubah jenis keyboard dari Default ke Pad Angka ketika jumlah bidang teks adalah 4 atau 5, maka lakukan ini:
sumber
Ada properti untuk ini yang disebut
keyboardType
. Apa yang ingin Anda lakukan adalah mengganti di mana Anda memiliki string@"Number Pad
dan@"Default
denganUIKeyboardTypeNumberPad
danUIKeyboardTypeDefault
.Kode baru Anda akan terlihat seperti ini:
Semoga berhasil!
sumber
untuk orang yang ingin digunakan
UIDatePicker
sebagai masukan:sumber
Ini
UIKeyboardTypes
untuk Swift 3:Ini adalah contoh untuk menggunakan jenis keyboard dari daftar:
sumber
Secara terprogram ubah UITextField Keyboard tipe swift 3.0
sumber
Berikut adalah jenis keyboard di Swift 4.2
sumber