如何在Cocoa中创建平移和缩放画布(如Photoshop)

时间:2016-05-18 13:25:50

标签: swift cocoa uiscrollview nsview nsscrollview

我正在为Cocoa中的Mac制作一个非常简单的绘图应用程序,并使用NSScrollView来创建一个动态调整大小的绘图画布,但它似乎不起作用。

当我滚动(平移)时,我希望NSView的大小增大,而当我缩小时,我的大小会增加。显然我会为画布设置一个最大大小来限制内存,但是不知道从哪里开始。

有什么想法?另外,iOS或UIKit解决方案的任何想法?我可以根据需要进行调整。

2 个答案:

答案 0 :(得分:2)

每当我滚动时,使用ScrollView或UIScrollView都需要增加它的大小,并且令我的应用程序放慢速度。我查看了使用平铺的scrollview,但这也创建了一个巨大的scrollview。

我最终做的是创建一个“画布”视图,然后由用户操作。当他们想要缩放时,这个“画布”只是缩放以创建缩放的幻觉,当他们想要围绕无限的工作区域时,画布刚刚移动以创建平移的幻觉。

基本上,我通过允许用户在有限的NSView中移动感兴趣的对象来创建无限画布的幻觉,能够将其移出屏幕,并在需要时返回屏幕。

答案 1 :(得分:-2)

似乎您正在寻找在此处使用UIScrollViewNSScrollView的教程! (你最好在谷歌上做)

要使用UIScrollView,您必须符合UIScrollViewDelegate协议,然后实现所需的功能。您可以找到详细的说明here