iOS6 上的虚拟键盘错误(使用 FPC)

Posted

技术标签:

【中文标题】iOS6 上的虚拟键盘错误(使用 FPC)【英文标题】:Virtual Keyboard Bug on iOS6 (using FPC) 【发布时间】:2013-02-04 11:33:00 【问题描述】:

我遇到了仅在 ios 6 上出现的虚拟键盘问题。

我有一个 UITextField,我用它来捕捉来自虚拟的键盘输入 键盘,但在 iOS 6 上它只显示一次,在键盘关闭后 第一次就不显示了。

这是我用来显示带有键盘的 TextField 的代码。

if not Assigned( keysTextField ) Then
begin
  keysTextFrame := wndHandle.frame;
  keysTextField := zglCiOSTextField.alloc().initWithFrame(keysTextFrame );
  keysTextTraits := keysTextField;
  with keysTextField, keysTextTraits do
    begin
      setDelegate( appDelegate );
      setAutocapitalizationType( UITextAutocapitalizationTypeNone );
      setAutocorrectionType( UItextAutocorrectionTypeNo );
      setKeyboardAppearance( UIKeyboardAppearanceDefault );
      setReturnKeyType( UIReturnKeyDone );
      setSecureTextEntry( FALSE );
      addTarget_action_forControlEvents( appDelegate, objcselector('textFieldEditingChanged' ), UIControlEventEditingChanged );
    end;
  keysTextField.setText( utf8_GetNSString( Text ) );
  wndHandle.addSubview( keysTextField );
end;

if appFlags and APP_USE_ENGLISH_INPUT > 0 Then
  keysTextTraits.setKeyboardType( UIKeyboardTypeASCIICapable )
else
  keysTextTraits.setKeyboardType( UIKeyboardTypeDefault );

wndHandle.addSubview( keysTextField );
keysTextField.becomeFirstResponder();

这是关闭它的代码:

if Assigned( keysTextField ) Then
  keysTextField.removeFromSuperview();

任何人都知道我可以尝试解决这个问题吗? 我检查了第二次,keyTextField.isFirstResponder() 返回 true, 所以它应该可以工作(并且适用于 iOS

谢谢

塞萨尔·瓦根海默

【问题讨论】:

【参考方案1】:

固定更改命令

keysTextField.resignFirstResponder();textFieldShouldEndEditingtextFieldDidEndEditing

【讨论】:

以上是关于iOS6 上的虚拟键盘错误(使用 FPC)的主要内容,如果未能解决你的问题,请参考以下文章

通过VNC连接远程服务器,然后登陆服务器上的虚拟机,出现键盘输入问题的解决方法

WIN7系统触摸屏一体机,点击输入框自动弹出虚拟键盘!

MAC按键以及快捷键

使用 C#/Windows API 的虚拟键盘 - 发送键输入,但不获取焦点

动画虚拟键盘

在 Android 虚拟键盘上捕获 KeyEvent