iPad键盘不会从使用模型视图控制器样式的视图控制器调用的Facebook对话框中消除UIModalPresentationFormSheet

我已经研究并实现了有关从模式视图控制器的键盘解散问题的build议,并在我的UINavigationController中有以下代码

- (BOOL)disablesAutomaticKeyboardDismissal { return NO; } 

这个工作正常,除了当用户不closures键盘时调用下面的Facebook对话框

  [FBWebDialogs presentRequestsDialogModallyWithSession:...] 

我已经尝试了所有可以find的东西来杀死键盘。 我已经走过了每一个观点。 我已经尝试模型转换到一个新的视图控制器,然后调用它; 但没有任何接缝工作。 它接缝就像键盘不再连接到一个视图,所以没有什么可以解除它了。

当我从其他代码调用该对话框时,我没有这个问题。

谢谢你的帮助!

如果视图控制器显示在导航控制器内,则上述“修复”不起作用;

你必须用这个“修复”来创build一个类别:

头文件 – UINavigationControllerResponderFix.h:

 #import <Foundation/Foundation.h> @interface UINavigationController (ResponderFix) -(BOOL)disablesAutomaticKeyboardDismissal; @end 

执行文件:

 #import "UINavigationControllerResponderFix.h" @implementation UINavigationController (ResponderFix) -(BOOL)disablesAutomaticKeyboardDismissal{ return NO; } @end 

现在,修改你的[applicationname] -Prefix.pch

 #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "UINavigationControllerResponderFix.h" #endif 

而已!

这样做是对UINavigationController的每个实例进行调整

以上所有 – 从这里采取: http : //www.danielhanly.com/blog/tutorial/resignfirstresponder-bug-in-uimodalpresentationformsheet/