В моей компании мы определили Атрибут, названный @Immutable
. Если Вы принимаете решение присоединить это к классу, это означает, что Вы обещаете, что Вы неизменны.
Это работает на документацию, и в Вашем случае это работало бы фильтром.
, Конечно, Вы все еще в зависимости от автора, держащего его слово о том, чтобы быть неизменным, но так как автор явно добавил аннотацию, это - разумное предположение.
Я не думаю, что есть способ поместить курсор в определенное место в вашем UITextField
(если только вы не стали очень хитрыми и смоделировали событие касания). Вместо этого я бы обработал форматирование, когда пользователь завершил редактирование своего текста (в textFieldShouldEndEditing:
), и если его ввод неверен, не позволять текстовому полю завершать редактирование.
Наконец-то я нашел решение этой проблемы! Вы можете поместить текст, который вам нужно вставить, в системный монтажный стол, а затем вставить его в текущую позицию курсора:
[myTextField paste:self]
Я нашел решение у этого человека » блог s:
http://dev.ragfield.com/2009/09/insert-text-at-current-cursor-location.html
Функция вставки зависит от ОС V3.0, но я протестировал его, и у меня он отлично работает с настраиваемой клавиатурой.
Если вы выберете это решение, вам, вероятно, следует сохранить существующее содержимое буфера обмена пользователя и немедленно восстановить его.