可可触摸 - 键盘捕获

时间:2010-07-31 11:50:37

标签: cocoa-touch

如何判断用户按下哪些键进入textView?

在你问之前,因为它听起来类似于键盘记录器,我正在制作一个打字应用程序,我需要知道他们输入的正确匹配键是否提示他们。

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该将UITextView的delegate设置为其中一个类。 (在IB中或以编程方式,无关紧要)

在您的委托中,您可以使用以下功能或类似的功能:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
                  replacementText:(NSString *)text
{
    if ( [text length] == 0 ) return YES; // always allow deletion of characters

    NSString *new = [textView.text stringByReplacingCharactersInRange:range
                                                           withString:text];

    if ( [new length] > 100 ) // PUT IN YOUR MAGIC CONDITION HERE
    {
        return NO; // don't allow the edit to happen
    }

    return YES; // by default, allow the edit to happen
}

这只会将输入限制为100个字符,但您可以根据需要将其设置为复杂。

编辑 ps,您询问“用户按下了什么键”,但由于我们还有复制和粘贴以及自动更正功能,因此可能会提供长于1的text炭!