如何使用类似QuartzComposer的GUI设计应用程序

时间:2011-11-03 19:30:29

标签: objective-c macos cocoa custom-controls core-graphics

我打算编写一个相对简单的应用程序来构建类似数据库的模式。目标是构建一个可用的工具并运用Cocoa编程。 此应用程序的主要组件是一个视图,允许用户在其中放置带有可编辑列表的可拖动框,然后将它们与行链接。我相信你知道我在想什么。

看起来有点像这样的东西: QuartzComposer gui example

问题是我不知道在这种情况下最好的方法是什么。我应该:

  1. 子类NSView并编写一个huuge视图,用于管理框,连接,处理所有事件等的渲染或...
  2. 为框写下视图,然后使用一些(我不知道)基础设施来管理和显示它们,或者......
  3. 使用符合我想要的东西,有人写了它(找不到任何东西),或者......
  4. 别的(??)
  5. 1和2肯定是可行的,但我想以正确的方式做到这一点。我认为在盒子里面重用一些现成的Cocoa控件会很酷。

    我是经验丰富的程序员,但对Cocoa和Objective-C来说还是个新手。

    你会怎么做?任何提示和想法高度赞赏:))

2 个答案:

答案 0 :(得分:1)

每个框都可能是一个自定义的子类NSView。 BoxView也许吧。 然后你有一个包含框的视图的视图控制器。 该视图控制器将处理移动框和那种东西。 这些框将作为子视图添加到视图控制器的视图中。 无论如何,这就是我采取的方法。

答案 1 :(得分:1)

我已经阅读了评论和答案,做了一些研究并提出了这样的设计。看看下面的模型:

my design

它看起来很健全吗?