如何将NSTextField添加到NSView Draggable中

时间:2013-11-08 04:28:15

标签: events mouseevent nsview nsevent

让我详细说明我正在做的步骤

  1. 创建Mac 10.9项目
  2. 将CustomView(我们称之为myView)拖到.xib
  3. 将NSButton拖到.xib但在CustomView
  4. 外面
  5. 现在以编程方式(使用其他类)我在此代码单击按钮时将NSTextField添加到CustomView

    NSTextField * textField = [[NSTextField alloc] init]; [textField setBezeled:NO]; [textField setEditable:NO]; [textField setSelectable:NO]; [textField setFont:[NSFont fontWithName:@“Arial”size:20]]; [textField setStringValue:@“Hello World!”]; int textWidth = textField.fittingSize.width; int textHeight = textField.fittingSize.height; [textField setFrame:NSMakeRect(0,0,textWidth,textHeight)]; [myView addSubview:textField];

  6. 现在我看到TestField已添加到myView

  7. 我想要的只是用户可以在myView
  8. 中拖动textField

    我添加了以下代码

    - (void)mouseDown:(NSEvent *)event{
        NSLog(@"Hi");
    }
    

    但NSLog没有显示

    如何使NSTextField可拖动?

1 个答案:

答案 0 :(得分:0)

  

注意:因为鼠标移动的事件频繁发生,所以它们可以   迅速淹没事件调度机制,一个NSWindow对象   default不会从全局NSApplication对象接收它们。   但是,您可以通过发送来专门请求这些事件   NSWindow对象是一个setAcceptsMouseMovedEvents:消息   是的论点。

来自Apple Docset