我研究并实现了有关模态视图 Controller 的键盘关闭问题的建议,并在我的 UINavigationController 中包含以下代码
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
这工作正常,除了当我在用户不关闭键盘时调用以下 Facebook 对话框时
[FBWebDialogs presentRequestsDialogModallyWithSession:...]
我已经尝试了所有我能在 SO 上找到的东西来杀死键盘;我已经浏览了每个 View ;我已经尝试将模型转换到新的 View Controller 然后调用它;但没有任何接缝工作。它的接缝就好像键盘不再附加到 View 上一样,所以没有什么可以再将其关闭。
当我从其他代码调用该对话框时,我没有遇到这个问题。
感谢您的帮助!
最佳答案
如果 View Controller 显示在导航 Controller 内,上述“修复”将不起作用;
您必须使用此“修复”创建类别:
头文件 - 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/
关于iphone - iPad 键盘不会从具有 Model View Controller 样式 UIModalPresentationFormSheet 的 View Controller 调用的 Facebook 对话框中关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19016331/