我对仅在 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 < 6 中工作)。
谢谢
塞萨尔·瓦根海默