如何对NSControl对象(如NSImageView)进行子类化以检测是否按下了delete键?具体来说,我想从NSImageView中清除图像,但可能有更广泛的应用。

最佳答案

子类化NSControl并重写keyDown函数。使用nsEvent.CharacterSignoringModifiers检查NSDeleteCharacter的Unicode值。

    override func keyDown(theEvent: NSEvent) {
        //From Apple sample code: https://developer.apple.com/library/ios/samplecode/Lister/Listings/Swift_ListerOSX_ListViewController_swift.html
        if theEvent.charactersIgnoringModifiers == String(Character(UnicodeScalar(NSDeleteCharacter))) {
            //Take action.

        }
     }

关于swift - 检测何时按下控件上的删除键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35539256/

10-16 00:46