【发布时间】:2013-01-05 22:22:00
【问题描述】:
我有一个大约 14000 x 14000 像素的图像。我想把它放在一个视图中,然后能够拖动那个图像来改变所看到的。是否有本地方法可以做到这一点或已经编写的自定义类或我必须自己做?
【问题讨论】:
-
NSScrollView 是否有默认设置来执行此操作?从我所见,我没有看到,所以我必须自己重写这个类。
标签: objective-c macos
我有一个大约 14000 x 14000 像素的图像。我想把它放在一个视图中,然后能够拖动那个图像来改变所看到的。是否有本地方法可以做到这一点或已经编写的自定义类或我必须自己做?
【问题讨论】:
标签: objective-c macos
对于iOS
1) drag and drop image around the screen : 使用 UITouch 在屏幕上拖动图像
2) Drag And Drop objects :拖放在可滚动图片库中竞争的对象
对于 Mac
我认为mac os没有任何现成的方式可供您使用。您需要根据您的要求实现NSDraggingSource's – draggingSession:endedAtPoint:operation:。不幸的是,在 OS X v10.7 及更高版本中,方法“-draggedImage:endedAt:operation:”已被弃用。 NSDraggingSource 协议的实现可以参考this。
draggingSession:movedToPoint: 当拖动在屏幕上移动时调用。
- (void)draggingSession:(NSDraggingSession *)sessionmovedToPoint:(NSPoint)screenPoint
--session:拖动会话。
--screenPoint:拖动移动到的点,在屏幕坐标中。
我希望这对你有用...编码愉快:-)
【讨论】: