2014-10-06 112 views
2

我想要检测何时用户按下“”页面向上“或”向下翻页“键。如何检测键盘在iOS 8中按下“PAGE UP”键?

我用UITextView[UIKeyCommand keyCommandWithInput:modifierFlags:动作:]

和它的工作在iOS 7.

[UIKeyCommand keyCommandWithInput:[NSString hexToString:@"0b"] modifierFlags:0 action: @selector(pageUpKeyPressed:)] 

(上一页:0B,下页:0℃)

但它不适用于iOS8。

反正有没有在iOS 8上检测到“page up/down”按键?

+0

页面向上/向下从哪里来?这是一个外接键盘吗? AFAIK,没有用于翻页或翻页的iOS软件密钥。您可以检测箭头键UIKeyInputUpArrow和修饰符UIKeyModifierControl。但是这些不会让你的键盘等效于向上箭头,这是用来替代扩展键盘向上按钮的东西。让我知道你是否需要箭头和修饰符的帮助。 – DenVog 2014-11-29 20:25:27

+0

我已经在这里回答了这个问题:http://stackoverflow.com/questions/32274319/swift-2-ios-bluetooth-keyboard-key-press-detection/36377423#36377423 – owlswipe 2016-04-02 18:53:04

回答

1

我注意到预定义的常量UIKeyInputUpArrow等只是包含像“@ UIKeyInputUpArrow”这样的符号名称的字符串。所以我尝试使用

[UIKeyCommand keyCommandWithInput:@"UIKeyInputPageUp" 
        modifierFlags:0 
          action:@selector(pageUpKeyPressed:)]; 

只是随心所欲。你看,它的工作! (在iOS 10中) 不知道这是否符合使用无证API的条件。使用它可能会也可能不会让您的应用程序从App Store中被拒绝。