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

时间:2013-09-25 22:35:52

标签: iphone ios objective-c facebook ipad

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

- (BOOL)disablesAutomaticKeyboardDismissal
{
    return NO;
}

除了在用户不关闭键盘时调用以下Facebook对话框

时,此方法正常
    [FBWebDialogs presentRequestsDialogModallyWithSession:...]

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分: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/