编译的iOS应用程序会在启动时自动打开键盘

时间:2015-03-04 18:45:50

标签: livecode

我有一个在iOS模拟器中正常运行的程序,但在加载到iOS设备(我的iPad mini,运行iOS 8)时无法正常工作

启动应用后,屏幕键盘会自动打开。我的卡上没有可见的可编辑字段。 (有一些标题文本,但字段已被锁定。)

我在preOpenStackopenStackpreOpenCard等处没有命令......

关于如何防止这种情况的任何建议?

1 个答案:

答案 0 :(得分:1)

显然,当卡片打开时,会有一个可以获得焦点的字段。也许你认为一个领域被锁定但事实并非如此。它也可以是一个可以获得焦点的组合框或数据网格。可能,测试此方法的最佳方法是在编译应用程序之前运行以下脚本:

on lockFields
  repeat with x = 1 to the number of fields
    set the lockText of field x to true
  end repeat
end lockFields

运行此脚本一次以锁定所有字段。现在进行测试,看看键盘是否显示出来。如果你有任何组合框,请在脚本中单独包含它们,添加如下内容:

  repeat for each item myItem in "Combobox 1,Combobox 2,Combobox 3"
    disable btn myItem
  end repeat

一旦您知道哪个控件导致了问题,您就可以向卡中添加另一个脚本:

on enableControls
  repeat for each item myItem in "Field A,Field B,Combobox 1,Combobox 2"
    enable control myItem
    if the name of control myItem contains "field" then
      set the lockText of control myItem to false
    end if
  end repeat
end enableControls

运行此处理程序后,字段和组合框应该是可聚焦的,但键盘不应出现。

重要的是,您没有围绕创建本机字段(不可见)的脚本。如果您创建这样的本机字段,键盘也会出现。