在iPhone的任何按键上隐藏键盘

时间:2012-03-27 15:39:07

标签: ios

当我按下返回键以外的任何键时,我想隐藏键盘。 例如,当用户按下键盘上的字符“n”时,键盘应该消失。 请尽快给我一个合适的答案。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用UIKeyInput协议。用insertText捕获插入 http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIKeyInput_Protocol/Reference/Reference.html

您使用过协议吗?

编辑: 然后你可以使用方法     [textField resignFirstResponder];

隐藏键盘

EDIT2:协议 简而言之,您要响应协议的类的接口必须声明为(在YourClass.h中):

@interface YourClass:NSObject<UIKitInput>

然后,您必须在YourClass.m中实现协议方法:

#pragma mark -
#pragma mark UIKeyInput Protocol Methods

- (BOOL)hasText {
    .....
    return NO;
}

- (void)insertText:(NSString *)theText {
    ...;
}

- (void)deleteBackward {
    ....
}

祝你好运!

答案 1 :(得分:0)

当文本字段占用第一个响应者时,键盘会隐藏。按下某个键时会告知文本字段委托(textField:shouldChangeCharactersInRange:replacementString:)。如果您需要更多详细信息,请在您的问题中加倍努力,向我们展示您到目前为止所尝试的内容。

答案 2 :(得分:0)

为此,您必须创建自定义键盘,或者必须覆盖键盘方法。但你无法覆盖。因为你不知道,在哪个方法和什么代码中感知那个键在那个框架中按下。所以最好还是写一个自定义键盘。