可拖动的NSButton

Seb*_*hec 2 macos cocoa objective-c

有没有办法使NSButton可拖动?我的意思是在最终构建的应用程序中,用户可以拖动NSButton.

我正在尝试做一些几乎"仪表板"式的东西......就像可拖动的东西一样.目前,我只是使用保留在原位的NSButton,但是如果它们可以被拖动它们会很好.

Fra*_*sch 5

NSButton通常会吃掉所有鼠标事件.因此,您必须子类化NSButton并且不仅覆盖拖动处理而且还覆盖单击处理:

- (void)mouseDown:(NSEvent *)theEvent
{
    [self highlight:YES];
}

- (void)mouseDragged:(NSEvent *)event
{
// start a dragging session
}

- (void)mouseUp:(NSEvent *)theEvent
{
    [self performClick:self];
}
Run Code Online (Sandbox Code Playgroud)