Mengklik di bidang teks membuat keyboard muncul. Bagaimana cara menyembunyikannya ketika pengguna menekan tombol kembali?
148
Mengklik di bidang teks membuat keyboard muncul. Bagaimana cara menyembunyikannya ketika pengguna menekan tombol kembali?
Jawaban:
Pertama buat delegasi file Anda untuk UITextField
Kemudian tambahkan metode ini ke kode Anda.
Juga tambahkan
self.textField.delegate = self;
sumber
Dalam
viewDidLoad
menyatakan:[yourTextField setDelegate:self];
Kemudian, sertakan override metode delegate:
sumber
setDelegate:
pengingat. Pasti sudah lupa dan kode tidak berfungsi sebelumnya.Coba ini di Swift ,
Langkah 1: Tetapkan delegasi sebagai diri Anda
textField
Langkah 2: Tambahkan UITextFieldDelegate ini di bawah deklarasi kelas Anda,
sumber
Dalam cepat lakukan seperti ini:
Pertama dalam
ViewController
mengimplementasikan iniUITextFieldDelegate
Untuk misalnya.Sekarang tambahkan delegasi ke
TextField
di mana Anda ingin mengabaikan keyboard ketika kembali disadap baik dalamviewDidLoad
metode seperti di bawah ini atau di mana Anda menginisialisasi itu. Untuk misalnya.Sekarang tambahkan metode ini.
sumber
Coba ini,
Kemudian, dalam metode delegasi textField
sumber
atur delegasi dari
UITextField
, dan over ride,textFieldShouldReturn
metode, dalam metode itu hanya menulis dua baris berikut:itu dia. Sebelum menulis kode jangan lupa untuk mengatur delegasi dari
UITextField
dan mengatur jenis kunci Kembali ke "Selesai" dari jendela properti. (Perintah + shift + I).sumber
Anda dapat menghubungkan "Tindakan Utama Dipicu" (klik kanan pada UITextField) dengan IBAction dan Anda dapat mengundurkan diri responden pertama (tanpa delegasi). Contoh (Swift 4):
sumber
Cepat 4
Tetapkan delegasi
UITextField
in view controllerfield.delegate = self
,, dan kemudian:sumber
Jika Anda ingin menyembunyikan keyboard untuk penggunaan keyboard tertentu.
[self.view resignFirstResponder];
Jika Anda ingin menyembunyikan keyboard apa pun dari tampilan gunakan[self.view endEditing:true];
sumber
Gunakan ini
sumber
Ok, saya pikir untuk pemula hal mungkin agak membingungkan. Saya pikir jawaban yang benar adalah campuran dari semua hal di atas, setidaknya di Swift4.
Baik buat ekstensi atau gunakan ViewController di mana Anda ingin menggunakan ini tetapi pastikan untuk mengimplementasikan UITextFieldDelegate. Demi dapat digunakan kembali, saya merasa lebih mudah menggunakan ekstensi:
Tambahkan metode textFieldShouldReturn (tergantung pada opsi Anda sebelumnya, baik dalam ekstensi atau di ViewController Anda)
Dalam metode viewDidLoad Anda, setel delegasi bidang teks ke mandiri
Itu saja. Sekarang, ketika Anda menekan
return
yangtextFieldShouldReturn
harus disebut.sumber
Tentukan kelas ini dan kemudian setel bidang teks Anda untuk menggunakan kelas dan ini mengotomatiskan seluruh keyboard yang bersembunyi ketika kembali ditekan secara otomatis.
Maka yang perlu Anda lakukan di storyboard adalah mengatur bidang untuk menggunakan kelas:
sumber