Пользовательский UIView с клавиатурным вводом? - PullRequest
1 голос
/ 10 ноября 2008

У меня есть собственный подкласс UILabel для отображения валютных значений. Я только хочу, чтобы пользователь мог вводить цифры и позволять представлению форматировать эти цифры в значение валюты - как в кассе. Это делает UITextField неподходящим выбором для такого рода ввода.

Я уже переопределил hitTest: так что UILabel вернет себя - это, очевидно, ошибка. Кроме того, я переопределил оба canBecomeFirstResponder и сталFirstResponder для возврата ДА. Однако ни один из этих методов не вызывается.

Я только хочу, чтобы пользователь набирал цифры и использовал клавишу возврата. Я реализовал UITextInputTraits, но клавиатура не появляется. Итак, это можно сделать? И если да, то что мне не хватает?

Ответы [ 2 ]

1 голос
/ 10 ноября 2008

ОК, я ответил на свой вопрос: UILabel, помещенный поверх UITextView, также скрывает точку вставки, но все равно может стать первым респондентом и получить ввод.

Спасибо!

1 голос
/ 10 ноября 2008

Я сделал что-то вроде этого. Подкласс UITextField, сделайте его текст прозрачным и наклейте метку поверх него для отображения отформатированной версии.

edit - на самом деле, строго говоря, вам даже не нужно создавать его подклассы. Просто реализуйте метод делегата (-textField: shouldChangeCharactersInRange: replaceString :), добавьте метку в UITextField и отформатируйте текст метки так, как вам нужно.

...