Как я отмечаю в своем ответе здесь , UITextField
соответствует протоколу UITextInput
. Итак, вы называете его методы:
[textField replaceRange:textField.selectedTextRange withText:text];
Интересно: ""
выполнит возврат и, конечно, " "
сделает пробел.
Это должно вызвать метод shouldChangeCharactersInRange
автоматически. Если нет, то вам придется сделать это самостоятельно.
Вам определенно нужно сделать это, если вы собираетесь создать пользовательскую клавиатуру на iOS.