如何检测用户在iOS中点按Shift键和Shift模式?

时间:2013-05-25 04:41:51

标签: ios objective-c uitextview uikeyboard

我可以使用UITextViewDelegateNSNotificationCenter来检测用户点击Keyboard上的字符键以便将文字输入UITextView

但我的应用需要检测用户何时点击Shift key,我还想检测哪个Shift mode is activated。这意味着我想要检测用户何时输入小写,上部第一个字符或上部所有字符模式。

我搜索了这么多,但找不到好的解决方案。请帮忙!

2 个答案:

答案 0 :(得分:2)

一种可能的解决方案是植入您自己的自定义键盘(也可能需要自定义文本视图),因为目前似乎没有公开API在iOS上公开此信息。

答案 1 :(得分:0)

你不能对A到Z的键进行正则表达式检查吗?

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    // check if string entered matches regular expression [A-Z]
    if(matchedRegularExpression)
    {
        NSLog(@"uppercase character detected");
    }    
    else
    {
        NSLog(@"lowercase character detected");
    }

    return true;
}