我可以使用UITextViewDelegate
或NSNotificationCenter
来检测用户何时点击字符键以Keyboard
将文本输入到UITextView
.
但是我的应用程序需要检测用户何时点击Shift key
,我也想检测哪个Shift mode is activated
. 这意味着我想检测用户何时输入小写、大写第一个字符或大写所有字符模式。
我搜索了很多,但找不到好的解决方案。请帮忙!
我可以使用UITextViewDelegate
或NSNotificationCenter
来检测用户何时点击字符键以Keyboard
将文本输入到UITextView
.
但是我的应用程序需要检测用户何时点击Shift key
,我也想检测哪个Shift mode is activated
. 这意味着我想检测用户何时输入小写、大写第一个字符或大写所有字符模式。
我搜索了很多,但找不到好的解决方案。请帮忙!
一种可能的解决方案是植入您自己的自定义键盘(这也可能需要自定义文本视图),因为目前似乎没有公共 API 在 iOS 上公开此信息。
你不能对 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;
}