小编mev*_*son的帖子

NSNotificationCenter PasteboardChangedNotification不触发

我正在为iOS编写一个自定义键盘,我想检测用户何时复制一些文本。我读过您可以使用和NSNotificationCenter一起UIPasteboardChangedNotification执行此操作。

但是,当用户复制文本时,似乎没有触发我的选择器。当我addObserver在线路上放置一个断点时,尽管击中前后的断点似乎都被跳过了。这是我正在使用的代码:

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)

    // Register copy notifications 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "handleCopy:", name: UIPasteboardChangedNotification, object: nil)
}


func handleCopy(sender: NSNotification) {
//todo: handle the copied text event
}
Run Code Online (Sandbox Code Playgroud)

谁能确定我所缺少的吗?

编辑:

我注意到,如果我在注册通知后以编程方式更新粘贴板,则会触发该通知,但是如果用户使用上下文菜单“复制”,我仍然无法弄清为什么没有被点击。

keyboard ios swift

5
推荐指数
1
解决办法
1152
查看次数

标签 统计

ios ×1

keyboard ×1

swift ×1