Здравствуйте!
— Не хотите ли войти
1
ответ

Проблема с кареткой

Хочу прикрутить «форматирование» к uitextfield как в Contacts.app
Сделал так: создал делегата для поля ввода, реализовал метод textField:shouldChangeCharactersInRange:replacementString: В нем форматирую строку, устанавливаю ее полю ввода и возвращаю NO.
Если пользователь добавляет текст в конец строки, то все нормально, но если он пытается добавить текст в начало или в середину, то после каждого изменения каретка перемещается в конец строки.
Как бороться?

1 июля 2010

Ответы

Если у вас редактирование локальное и в месте ввода, можно пользоваться тем, что сообщение paste UIPasteboard'а не перемещает курсор в конец. То есть получается:

  • Получить ссылку на UIPasteboard;
  • Сохранить текущее его состояние;
  • Поменять на что нужно;
  • Сделать paste;
  • Восстановить состояние UIPasteboard.

В интернетах говорят, что это вполне возможно сделать.

1 июля 2010

После вставки через буфер обмена, каретка сдвигается на количество вставленного текста.
А формат может измениться хоть в начале, хоть в конце. То есть форматирование, увы, не в месте редактирования.
Мне нужно поле ввода телефона, такое же как в Contacts.app

NULL AUTHOR
Зарегистрируйтесь или войдите, чтобы добавить свой комментарий или ответ на вопрос.
© 2009-2012, ООО «Инру»
Вход
Имя пользователя:
Пароль:
Или…
Twi
Отмена
Войти
Восстановить забытый пароль…