iPad“closures键盘”button不会closures键盘

我在横向视图中有一个UITextField,当我按下UIKeyboard视图右下方的“解除键盘”button时,键盘不会消失。 有没有一种方法来编程监听这个键被按下? 还是有没有连接,我没有看到这将使这个键盘消失? 这是iOS 4和XCode 4.谢谢。

    我今天有同样的问题,我想知道,它在苹果的KeyboardAccessory示例代码。 所以我做了逆向工程。 ViewController不是我在我的情况下犯的错误。

    在UIApplicationDelegate的实现中,有应用程序的入口点,其中将设置根视图控制器和窗口- (void) applicationDidFinishLaunching:(UIApplication *)application 。 如果您忘记将根视图控制器视图添加到窗口作为子视图,那么在应用程序的任何视图中,dismiss-keyboard-button都不起作用。

     @class ViewController; @interface KeyboardAccessoryAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; ViewController *viewController; } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet ViewController *viewController; @end 

     - (void)applicationDidFinishLaunching:(UIApplication *)application { [window addSubview:viewController.view]; [window makeKeyAndVisible]; } 

    请不要忘记在主xib文件中设置sockets。

    我不知道为什么这是与键盘行为有关。 但是我的理论是,响应者链与窗口没有联系,但是需要。

    要使用dismiss键盘button来closures键盘,您需要实现委托方法

     - (BOOL)textFieldShouldReturn:(UITextField *)textField { //Check if your text field is first responder, and if it is, have it resign } 

    或者,如果您想通过轻敲键盘来closures键盘,请使用

     -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { for (UIView* view in self.view.subviews) { if ([view isKindOfClass:[UITextField class]]) { [view resignFirstResponder]; } if ([view isKindOfClass:[UITextView class]]) { [view resignFirstResponder]; } } } 

    你需要告诉接受键盘input的文本字段不再是第一响应者。

     [UITextField resignFirstRepsonder];