我构建了一个自定义视图组件,用于显示事件的时间轴。该组件由NSView的几个自定义子类构建,每个子类实现时间轴中事件的特定视觉方面。大多数类通过现有Cocoa组件(通过initWithFrame方法添加)和一些自定义绘图(通过drawRect方法)的组合来显示自己。
时间轴 - 由于其大小 - 包装在NSScrollView中,允许用户水平滚动时间轴。时间轴将其框架的坐标系映射到显示的事件,因此长时间运行的事件会占用更多的像素空间。
这一切都很好。但是,我现在想添加一个显示视图的功能,该视图是实时时间线的缩小版本 - 与缩小图像缩小比例时丢失细节的效果相当。
是否有可能将在一个视图中完成的绘图“回显”到另一个视图,这是原始视图的缩小版本/副本?
答案 0 :(得分:2)
如果你想回应更大的时间轴并简单地调整它的大小......
NSView有:
- (NSData *)dataWithPDFInsideRect:(NSRect)aRect
将较大视图的NSRect传递给快照。
然后,使用:
创建一个NSImage- (id)initWithData:(NSData *)data
然后调用setSize并将其放在NSImageView中。