1

我已经研究并实施了有关模态视图控制器的键盘关闭问题的建议,并在我的 UINavigationController 中有以下代码

- (BOOL)disablesAutomaticKeyboardDismissal
{
    return NO;
}

这工作正常,除了当我在用户不关闭键盘时调用以下 Facebook 对话框时

    [FBWebDialogs presentRequestsDialogModallyWithSession:...]

我已经尝试了所有可以在 SO 上找到的方法来杀死键盘;我走过每一个风景;我已经尝试将模型转换到新的视图控制器,然后调用它;但没有任何接缝可以工作。它看起来好像键盘不再连接到视图,所以没有什么可以再关闭它了。

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

谢谢你的帮助!

4

1 回答 1

1

如果视图控制器出现在导航控制器中,则上述“修复”不起作用;

您必须使用此“修复”创建一个类别:

头文件 - 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/

于 2013-09-26T09:18:41.030 回答