Bagaimana saya bisa mendeteksi ketika pengguna menekan tombol keyboard "kembali" saat mengedit UITextField? Saya perlu melakukan ini untuk menutup keyboard saat pengguna menekan tombol "kembali".
Terima kasih.
Bagaimana saya bisa mendeteksi ketika pengguna menekan tombol keyboard "kembali" saat mengedit UITextField? Saya perlu melakukan ini untuk menutup keyboard saat pengguna menekan tombol "kembali".
Terima kasih.
Jawaban:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Jangan lupa untuk menempatkan delegasi di storyboard ...
self.yourTextField.delegate = self;
. Bahkan beberapa bidang teks juga berfungsi.
Delegasi tidak diperlukan, berikut satu baris:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
Sayangnya Anda tidak dapat melakukan ini secara langsung di Storyboard Anda (Anda tidak dapat menghubungkan tindakan ke kontrol yang memancarkannya di Storyboard), tetapi Anda dapat melakukannya melalui tindakan perantara.
UIControlEventEditingDidEndOnExit
acara akan dikirim hanya jika textFieldShouldReturn:
metode delegasi mengembalikan YA (tanpa harus mengundurkan diri dari bidang teks).
YES
untuk metode ini.
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
di enterPressed () fungsi letakkan semua perilaku yang Anda cari
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
Sekarang Anda dapat melakukan ini papan cerita menggunakan acara yang dikirim 'Did End On Exit'.
Dalam subkelas pengontrol tampilan Anda:
@IBAction func textFieldDidEndOnExit(textField: UITextField) {
textField.resignFirstResponder()
}
Di papan cerita Anda untuk bidang teks yang diinginkan:
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Ketika tombol enter diklik maka metode delegasi ini dipanggil. Anda dapat menangkap tombol kembali dari metode delegasi ini.