如何为我的应用程序创建自定义键盘

我们

我需要在我(也是我的)iOS8应用程序中为某些TEdit创建自定义键盘。其他编辑需要默认的iPad键盘。

在Objective-C中,它看起来很简单-只需创建UIView并将其分配给myTextField.inputView(https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/index.html#//apple_ref / occ / instp / UITextField / inputView)。

我该如何在FMX(Delphi XE7)中做到这一点?

更新。在iOSapi.UIKit.pas中声明的UITextField及其对应的控件是FMX.Edit.iOS.pas中的TiOSNativeEdit。在TEdit中,它用于PresentationProxy属性,但前提是ControlType = Platform例如:

var
  intf: UITextField;
begin
  if edit1.PresentationProxy.HasNativeObject
    and (edit1.PresentationProxy.NativeObject.QueryInterface(UITextField, intf) = S_OK) then
    edit1.Text := 'Success'
  else
    edit1.Text := 'Failed';

获得UITextField接口(我认为)后,您可以执行以下操作:

intf.setInputView(myCreatedUIView);

但是...我使用样式控件,因此此方法不适合我。

所以我必须使用TFrame,TLayout等来模拟键盘...

我们

在分析FMX的源代码之后,我找到了一个解决方案(仅适用于IOS)。不幸的是,它太大了,无法在此处包含...

简而言之:您必须使用FMX.Types.RegisterShowVKProc(myKeyboardProc)然后,您将获得使用键盘的选项,但会丢失系统键盘,键盘工具栏以及与它们交互的标准机制。

因此,我创建了数字键盘和字母键盘并使用它们。

我的源代码:iOS的自定义键盘

使用方法:在项目中包括uCommonCustomKeyboard.pas(这是主要单元),ufrFullKeyboard.pas和ufrCustomNumpad.pas。就这样。如果Delphi说“错误读取属性...”,则回答“取消”-这是因为Delphi无法识别TFrame继承。有关支持的键盘类型,请参见SupportedKeyboardTypes类功能

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检测是否从键盘的容器应用程序激活了自定义键盘?

来自分类Dev

如何使用完全自定义的UI创建桌面应用程序?

来自分类Dev

如何为C#wpf应用程序自定义Windows 8.1相机应用程序

来自分类Dev

如何为Azure API应用程序自定义子域?

来自分类Dev

如何在WinForms应用程序中创建自定义剪贴板格式

来自分类Dev

如何在AndroidManifest.xml中将多个自定义应用程序指定为我的应用程序?

来自分类Dev

如何在Rails应用程序中创建自定义异常?

来自分类Dev

如何在Netsuite的自定义角色帐户中创建应用程序?

来自分类Dev

如何在Android应用程序(Java)中创建自定义Google Maps样式

来自分类Dev

我想为电子js创建关于应用程序的自定义子窗口(for windows)

来自分类Dev

如何创建自定义结构类型的应用程序设置参数?

来自分类Dev

如何为Adobe Brackets创建自定义安装程序

来自分类Dev

如何在不模糊按钮的情况下为我的android应用程序创建自定义按钮?

来自分类Dev

在VS 2010中为我的Web应用程序创建自定义项目模板

来自分类Dev

如何为Wine安装的应用程序创建自定义应用程序启动器?

来自分类Dev

如何为Android应用程序设计自定义操作栏

来自分类Dev

自定义键盘扩展名可以通过任何方式识别我的配套应用程序的用户吗?

来自分类Dev

如何以编程方式从自定义PHP应用程序创建WordPress帖子?

来自分类Dev

如何为Web应用程序创建和使用自定义类的变量?

来自分类Dev

如何为自定义聚合物元素创建方法并在主应用程序中调用它?

来自分类Dev

自定义键盘Android获取当前的应用程序

来自分类Dev

如何为程序创建自定义启动屏幕?

来自分类Dev

如何为移动应用程序进行滚动自定义?

来自分类Dev

如何为我的改革表格创建自定义强制?

来自分类Dev

如何为Linux创建自定义键盘布局?

来自分类Dev

创建Grails应用程序配置的自定义参数

来自分类Dev

如何为所有文本声明应用程序范围的自定义字体

来自分类Dev

WPF 应用程序 - 创建自定义超链接

来自分类Dev

如何为我的财产创建自定义事件

Related 相关文章

  1. 1

    如何检测是否从键盘的容器应用程序激活了自定义键盘?

  2. 2

    如何使用完全自定义的UI创建桌面应用程序?

  3. 3

    如何为C#wpf应用程序自定义Windows 8.1相机应用程序

  4. 4

    如何为Azure API应用程序自定义子域?

  5. 5

    如何在WinForms应用程序中创建自定义剪贴板格式

  6. 6

    如何在AndroidManifest.xml中将多个自定义应用程序指定为我的应用程序?

  7. 7

    如何在Rails应用程序中创建自定义异常?

  8. 8

    如何在Netsuite的自定义角色帐户中创建应用程序?

  9. 9

    如何在Android应用程序(Java)中创建自定义Google Maps样式

  10. 10

    我想为电子js创建关于应用程序的自定义子窗口(for windows)

  11. 11

    如何创建自定义结构类型的应用程序设置参数?

  12. 12

    如何为Adobe Brackets创建自定义安装程序

  13. 13

    如何在不模糊按钮的情况下为我的android应用程序创建自定义按钮?

  14. 14

    在VS 2010中为我的Web应用程序创建自定义项目模板

  15. 15

    如何为Wine安装的应用程序创建自定义应用程序启动器?

  16. 16

    如何为Android应用程序设计自定义操作栏

  17. 17

    自定义键盘扩展名可以通过任何方式识别我的配套应用程序的用户吗?

  18. 18

    如何以编程方式从自定义PHP应用程序创建WordPress帖子?

  19. 19

    如何为Web应用程序创建和使用自定义类的变量?

  20. 20

    如何为自定义聚合物元素创建方法并在主应用程序中调用它?

  21. 21

    自定义键盘Android获取当前的应用程序

  22. 22

    如何为程序创建自定义启动屏幕?

  23. 23

    如何为移动应用程序进行滚动自定义?

  24. 24

    如何为我的改革表格创建自定义强制?

  25. 25

    如何为Linux创建自定义键盘布局?

  26. 26

    创建Grails应用程序配置的自定义参数

  27. 27

    如何为所有文本声明应用程序范围的自定义字体

  28. 28

    WPF 应用程序 - 创建自定义超链接

  29. 29

    如何为我的财产创建自定义事件

热门标签

归档