有人知道如何使用UIKeyCommand在iOS 7上检测“删除”密钥吗?
发布于 2014-02-27 13:22:16
很简单,真的--需要查找后置字符"\b“
发布于 2014-12-22 18:44:08
当人们对Swift有问题时,我认为目标C和Swift中的一个小的完整的例子可能是一个很好的答案。
请注意,Swift没有用于backspace的\b转义字符,因此您需要使用\u{8}的简单Unicode标量值转义序列。这与目标C中的ASCII控制字符 8(卡雷特表示法中的“control”,或卡雷特表示法中的^H )对应的是同一个老式的\b。
下面是一个目标C视图控制器实现,它捕获后台空间:
#import "ViewController.h"
@implementation ViewController
// The View Controller must be able to become a first responder to register
// key presses.
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (NSArray *)keyCommands {
return @[
[UIKeyCommand keyCommandWithInput:@"\b" modifierFlags:0 action:@selector(backspacePressed)]
];
}
- (void)backspacePressed {
NSLog(@"Backspace key was pressed");
}
@end以下是Swift中的等效视图控制器:
import UIKit
class ViewController: UIViewController {
override var canBecomeFirstResponder: Bool {
return true;
}
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "\u{8}", modifierFlags: [], action: #selector(backspacePressed))
]
}
@objc func backspacePressed() {
NSLog("Backspace key was pressed")
}
}发布于 2014-12-22 19:07:29
您可以随时尝试UIKeyInput。https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIKeyInput_Protocol/index.html#//apple_ref/occ/intfm/UIKeyInput/deleteBackward
功能应该是
https://stackoverflow.com/questions/22068308
复制相似问题