首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UIKeyCommand检测删除键

使用UIKeyCommand检测删除键
EN

Stack Overflow用户
提问于 2014-02-27 12:18:14
回答 3查看 5.8K关注 0票数 16

有人知道如何使用UIKeyCommand在iOS 7上检测“删除”密钥吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-27 13:22:16

很简单,真的--需要查找后置字符"\b“

票数 18
EN

Stack Overflow用户

发布于 2014-12-22 18:44:08

当人们对Swift有问题时,我认为目标C和Swift中的一个小的完整的例子可能是一个很好的答案。

请注意,Swift没有用于backspace的\b转义字符,因此您需要使用\u{8}的简单Unicode标量值转义序列。这与目标C中的ASCII控制字符 8(卡雷特表示法中的“control”,或卡雷特表示法中的^H )对应的是同一个老式的\b

下面是一个目标C视图控制器实现,它捕获后台空间:

代码语言:javascript
复制
#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中的等效视图控制器:

代码语言:javascript
复制
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")
    }

}
票数 30
EN

Stack Overflow用户

发布于 2014-12-22 19:07:29

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22068308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档