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

时间:2013-02-04 11:33:00

标签: ios lazarus virtual-keyboard fpc

虚拟键盘出现问题,只出现在iOS 6上。

我有一个UITextField用于从Virtual捕获键盘输入 键盘,但在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< 6)中工作。

由于

Cezar Wagenheimer

1 个答案:

答案 0 :(得分:0)

修正了更改命令

的问题

keysTextField.resignFirstResponder();textFieldShouldEndEditingtextFieldDidEndEditing