2011-02-28 159 views
0

我试图启用桌面键盘输入到iPhone模拟器。我跟着本指南以实现这一目标:从视图隐藏iPhone键盘

http://www.cocos2d-iphone.org/forum/topic/2239

但调用textField.hidden = YES;只隐藏文本字段,而不是键盘。我想仍然能够从我的桌面键盘读取输入。

感谢

+0

让我试着澄清一下你的问题:你想让文本输入只在模拟器中使用硬件键盘而不显示虚拟键盘? – jv42 2011-02-28 16:48:36

回答

0

你需要调用[文本字段resignFirstResponder]

+0

谢谢,但接下来textfield不再响应桌面键盘了。所以这对我不起作用。 – Kgb 2011-02-28 16:47:31

+1

对不起。我误解了你的问题。你想做什么可能很难或不可能。即使你弄明白了,我不知道App Store是否可能不允许进入需要物理键盘的应用程序...... – amattn 2011-02-28 17:25:07

+0

同意。如果这是你之后的行为,那么编写本机OSX应用程序会更好。 – 2011-02-28 17:55:03

0

,我发现自己的答案。我需要找到UIKeyboard并隐藏它。这是诀窍:

UIWindow* tempWindow; 
for(int c = 0; c < [[[UIApplication sharedApplication] windows] count]; C++) 
{ 
    tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:c]; 
    for(int i = 0; i < [tempWindow.subviews count]; i++) 
    { 
     UIView* keyboard = [tempWindow.subviews objectAtIndex:i]; 
     if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES 
      || [[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES 
      || [[keyboard description] hasPrefix:@"<UISnap"] == YES){ 

      [keyboard setHidden:YES]; 
     } 

    } 
} 
+0

天哪 - 太可怕了! - 但如果它的工作,它的作品:) – 2011-03-01 09:40:18

0

您可以使用iPhone模拟器的“硬件=>模拟硬件键盘”复选框。