我有一个应用程序,为一本杂志的页面。该应用程序在名为MasterPage的NSView(其本身就是NSScrollView的contentView)中放置了一本杂志的页面(名为Page的一个类的NSView)。考虑滚动视图中的页面网格。NSView:从超级景观拖到子视图到另一个NSView
然后,“页面”自动放置子视图,代表广告(class = Ad)。我希望能够将这些广告拖到他们的超级视图(页面类的NSView)中以及MasterPage的子视图(其他页面类视图)之间。
我可以拖动Page类广告类的NSView的NSView它最初被放置在由调用的mouseDragged方法,但我怎么能在上海华“释放”广告类子视图,并将其拖动到另一个的NSView?
希望这是有道理的。
感谢罗布,我正朝着这个方向前进。我可以将它从超级视图中移出并进入contentView,但拖动变为禁用 – PruitIgoe
我不确定这会起作用(但我从未尝试过)。我怀疑这是因为从视图层次中删除的视图正在搞砸拖机。在这种情况下,我建议将视图留在原地,但在“拖动”时将其重绘为空白,并且只有在成功拖放后才能完成视图移动。 –
您可能需要手动跟踪mouseDown,mouseMoved和mouseUp。自从我这样做以来已经有一段时间了。对Joshua而言,您可能想要将视图渲染为位图,隐藏视图并拖动位图。这对于性能和应用效果来说可能很好(这是通常实施拖放的方式)。 –