iOS - обнаружение возврата на клавиатуре, когда UITextField пуст

Возможный дубликат:
Обнаружить обратное пространство в UITextField

Я хочу определить, когда на клавиатуре нажата клавиша Backspace, даже если UITextField пуст.

Я пытался использовать ShouldChangeCharachtersInRange, но он не вызывается, когда вызывается backspace и текст пуст.

Как я могу это решить?


person Blondy314    schedule 30.11.2012    source источник
comment
возможный дубликат этого stackoverflow.com/questions/1977934/ и это stackoverflow.com/questions/6818342/ предоставят вам необходимое решение.   -  person Pratyusha Terli    schedule 30.11.2012
comment
Я пытаюсь понять здесь логику. shouldChangeCharactersInRange не будет вызываться при нажатии кнопки "Назад", если поле пусто, потому что нет никаких символов для изменения.   -  person Mick MacCallum    schedule 30.11.2012
comment
У меня есть кроссворд, в котором каждый квадрат - это текстовое поле. Я хочу, чтобы когда пользователь нажимал клавишу возврата (когда TextField пуст), фокус переместился на TextField, который был перед ним. Вот почему мне нужно определять, когда он вызывается   -  person Blondy314    schedule 30.11.2012
comment
@ user721577 делает каждый квадрат настраиваемым подклассом UILabel, который соответствует протоколу UIKeyInput. Затем верните true для canBecomeFirstResponder. deleteBackward всегда вызывается, даже когда hasText возвращает false. stackoverflow.com/a/6637821/242933   -  person ma11hew28    schedule 19.07.2014


Ответы (1)


Вы определили делегата UITextview в файле .h или просто назначили делегата себе в файле .m. Как textfield.delegate = self.

person ask4asif    schedule 30.11.2012
comment
Я определил UITextFieldDlegate в .h - person Blondy314; 30.11.2012
comment
func keyboardInputShouldDelete (_ textField: UITextField) - ›Bool {return true} - person Shakeel Ahmed; 08.12.2017