iOS:如何检测使用 BT 键盘时按下的任何键

Posted

技术标签:

【中文标题】iOS:如何检测使用 BT 键盘时按下的任何键【英文标题】:iOS : How to detect any key pressed when use a BT keyboard 【发布时间】:2013-12-21 08:18:57 【问题描述】:

我必须在 iPad 上实现 ios 的制造商键盘测试应用程序。

我现在正在调查这个话题。

据此article

[_myUITextField becomeFirstResponder];
[_myUITextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventAllEvents];


-(IBAction)textFieldDidChange:(id)sender
    UITextField *_field = (UITextField *)sender;
    NSLog(@"%@",[_field text]);

使用这些代码,我可以检测到我在应用程序中按下的字母(如 1、2、3、a、b、c...),但不是所有按键都被按下(如 fn、ctl、cmd ...等?)

任何人都知道如何实现这一点...谢谢^^

【问题讨论】:

顺便说一句,我不在乎它是使用公共 API 还是私有 API。 【参考方案1】:

改用通知中心。

 NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];

UITextField:

[notificationCenter addObserver:self
                   selector:@selector (textFieldText:)
                       name:UITextFieldTextDidChangeNotification
                     object:yourtextfield];

【讨论】:

你好,先谢谢了,但是结果和之前的方法一样,也检测不到任何键。

以上是关于iOS:如何检测使用 BT 键盘时按下的任何键的主要内容,如果未能解决你的问题,请参考以下文章