Есть необходимость для некоторых TEdit вызывать "собственную" клавиатуру (конкретизирую - исключительно с цифрами, кнопкой Backspase, знаком "-" и Enter. Приложение будет для iPad, а там (к сожалению) клавиатура Numbers&Punctuation не отличается от NumbersOnly).
К сожалению, для Edit.ControlType = Styled нативный контрол не создается, что сводит на нет все мои поиски, т.к. нужны именно стилизованные компоненты
Вторая потенциальная возможность, которую я рассматривал - узнать, где и как "глобально" вызывается клавиатура и подменить параметры вызова на свои. Но... во внутренностях всяких вызовов при получении элементом фокуса ввода я, если честно, запутался. Там много всего фигурирует, начиная от TCustomEditModel, заканчивая TFMXViewBase в TTextServiceCocoa.EnterControl. И непонятно, где же собственно вызов самой клавиатуры
Есть ли возможность (хотя бы направление) заменить стандартную клавиатуру на собственную, желательно - с сохранением при этом событий OnKeyboardShow / Hide и с использованием стилизованных компонентов ?
Вопрос
kami
Доброго времени суток!
Есть необходимость для некоторых TEdit вызывать "собственную" клавиатуру (конкретизирую - исключительно с цифрами, кнопкой Backspase, знаком "-" и Enter. Приложение будет для iPad, а там (к сожалению) клавиатура Numbers&Punctuation не отличается от NumbersOnly).
Самостоятельно я "докопался" до того, что подобное в теории возможно при использовании TEdit.ControlType = Platform, тогда в Edit.PresentationProxy.NativeObject будет лежать UITextField и можно ему присвоить "левый" UIView. Тогда, судя по документации Apple https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/index.html#//apple_ref/occ/instp/UITextField/inputView этот "левый" UIView будет вызываться вместо стандартной клавиатуры.
К сожалению, для Edit.ControlType = Styled нативный контрол не создается, что сводит на нет все мои поиски, т.к. нужны именно стилизованные компоненты
Вторая потенциальная возможность, которую я рассматривал - узнать, где и как "глобально" вызывается клавиатура и подменить параметры вызова на свои. Но... во внутренностях всяких вызовов при получении элементом фокуса ввода я, если честно, запутался. Там много всего фигурирует, начиная от TCustomEditModel, заканчивая TFMXViewBase в TTextServiceCocoa.EnterControl. И непонятно, где же собственно вызов самой клавиатуры
Есть ли возможность (хотя бы направление) заменить стандартную клавиатуру на собственную, желательно - с сохранением при этом событий OnKeyboardShow / Hide и с использованием стилизованных компонентов ?
Конфигурация: Delphi XE7 upd1, iPad, iOS 8.2
Изменено пользователем kamiСсылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.