让我详细说明我正在执行的步骤
- 创建 Mac 10.9 项目
- 将自定义视图(我们称之为 myView)拖到 .xib
- 将 NSButton 拖到 .xib 上,但在自定义视图的一侧
-
现在以编程方式(使用其他类)当此代码单击按钮时,我将 NSTextField 添加到自定义视图中
NSTextField *textField = [[NSTextField alloc] init];[文本字段设置边框:否];[文本字段设置可编辑:否];[文本字段设置可选:否];[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];
-
现在我看到测试字段已添加到myView中
- 我想要的只是用户可以拖动文本字段在myView中移动
我添加了以下代码
- (void)mouseDown:(NSEvent *)event{
NSLog(@"Hi");
}
但是NSLog没有被显示出来
如何使 NSTextField 可拖动?
注意:由于鼠标移动事件的发生频率如此之高,以至于它们可以 快速淹没事件调度机制,NSWindow 对象 默认不会从全局 NSApplication 对象接收它们。 但是,您可以通过发送 NSWindow object a setAcceptsMouseMovedEvents: message with a 是的论点。
来自苹果文档集