已编译 iOS 应用在启动时自动打开键盘
Compiled iOS app automatically opens keyboard on start
我有一个程序可以在 iOS 模拟器中正常运行,但在加载到 iOS 设备(我的 iPad mini,运行 iOS8)
应用程序启动后,on-screen 键盘会自动打开。我的卡片上没有可见的可编辑字段。 (有一些标题文字,但字段被锁定。)
我在 preOpenStack
、openStack
、preOpenCard
等中没有命令...
关于如何防止这种情况有什么建议吗?
显然,当卡片打开时,有一个字段获得焦点。也许您认为某个字段已锁定,但事实并非如此。它也可以是获得焦点的组合框或数据网格。也许,最好的测试方法是在编译您的应用程序之前 运行 以下脚本:
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
运行使用此处理程序后,字段和组合框应该可聚焦,但键盘不应出现。
同样重要的是,您没有可创建本机字段(不可见)的脚本。如果你创建这样一个本地字段,键盘也会出现。
我有一个程序可以在 iOS 模拟器中正常运行,但在加载到 iOS 设备(我的 iPad mini,运行 iOS8)
应用程序启动后,on-screen 键盘会自动打开。我的卡片上没有可见的可编辑字段。 (有一些标题文字,但字段被锁定。)
我在 preOpenStack
、openStack
、preOpenCard
等中没有命令...
关于如何防止这种情况有什么建议吗?
显然,当卡片打开时,有一个字段获得焦点。也许您认为某个字段已锁定,但事实并非如此。它也可以是获得焦点的组合框或数据网格。也许,最好的测试方法是在编译您的应用程序之前 运行 以下脚本:
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
运行使用此处理程序后,字段和组合框应该可聚焦,但键盘不应出现。
同样重要的是,您没有可创建本机字段(不可见)的脚本。如果你创建这样一个本地字段,键盘也会出现。