2012-03-27 44 views

回答

0

当文本字段退出第一个响应者时,键盘将隐藏。当键被按下时,文本字段委托被告知(textField:shouldChangeCharactersInRange:replacementString:)。如果你需要更多的细节,请多加努力,并向我们展示你到目前为止所尝试的内容。

+0

告诉我如何通过使用委托来实现这一点。我已经使用了UITextFieldDelegate。请告诉我,我可以在我的.m文件中写入的代码。当我按下除返回键以外的任何键时,我只想隐藏键盘。任何键可以是特殊字符或a-z。 – user1295948 2012-03-27 15:50:25

+0

请告诉我如何实现此功能? – user1295948 2012-03-27 16:22:47

+0

这不是一个代码写入服务。你看看这里:http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/UITextFieldDelegate_Protocol.pdf – jrturton 2012-03-27 16:31:58

0

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

+0

我必须在默认键盘上完成任务。请为我提供解决方案,否则我将被解雇。 – user1295948 2012-03-27 16:00:23

1

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

您是否使用过协议?

编辑: 然后可以使用方法 [文本字段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 { 
    .... 
} 

祝你好运!

+0

@ user1295948哇。我认为这会为你工作.. – 2012-03-27 15:54:27

+0

不,我没有使用protocols.It是我的一项任务,我可以隐藏键盘使用IBAction和布线文本这与退出事件结束 – user1295948 2012-03-27 15:55:19

+0

我应该写逻辑在有文本方法?你能实现这个吗? – user1295948 2012-03-27 16:16:03