2010-04-18 75 views
0

我试图做一个小应用程序,让你添加文本框到你的画布(窗口)。我有一个NSTextField,需要让你拖动窗口。当你放下它时,它需要留在鼠标离开它的地方。继承人我的代码,使拳头文本字段:拖动窗口内的NSTextField

NSTextField *myTextField=[[NSTextField alloc] initWithFrame:NSMakeRect(200.0, 200.0, 200.0, 25.0)]; 
[myTextField setBordered:NO]; 
[myTextField setStringValue:@"Double Click to edit"]; 
[[window contentView] addSubview:myTextField]; 
//Some sort of dragging code for myTextField 

如果有人曾经做过这样的事情,任何帮助真的很感激。

回答

0

我的第一本能是创建的NSTextField一个子类,并覆盖部分或全部mouseDown:mouseDragged:mouseUp:创造你想要的拖拽行为。 mouse events section in Apple's Event-Handling Guide可能会有所帮助。

+0

谢谢我使用mouseDragged,但我试图找出如何更新tex字段的位置。 – nosedive25 2010-04-19 02:12:29

+0

啊,好吧。您可能会寻找其他可拖动控件的开源示例。我记住的那个人 - http://code.google.com/p/igresizablecombobox/ - 并不完全是你在做的拖拽,但如果你看看代码,你可以了解它如何查看鼠标位置的变化,并使用这些更改来更改组合框弹出窗口的高度。 – Isaac 2010-04-19 05:07:42

+0

你是否正在努力解决相同的问题? – Roger 2012-01-09 16:07:12