使用可拖动的文本元素创建视图

我正在尝试为一种头脑风暴应用程序创建一个视图,例如OmniGraffle,其元素包含textviews并且可以被拖动。 (此外,应该可以用箭头连接,但这不是(还)问题) 我做了我的家庭作业,并通过谷歌搜索并阅读有关可可的书籍,但似乎没有类似的例子。 既然我也是可可的新手,我在这里有点无助。 我确信的是,我需要一个自定义视图,我可以在其中创建我的元素 - 我到目前为止尝试做的是: 首先,我搜索了将子窗口添加到窗口以创建元素的语法。我想,子窗口会自动移动到前面等等。 问题:由于你经验丰富的可可程序员可能并不感到惊讶,我惊讶地发现没有任何类似的东西 - 这似乎是某种东西,这只是在Cocoa中没有意图?! 然后我考虑创建包含标题栏绘图的自定义视图的子视图(用户可以单击以拖动元素)和
NSTextView
。 问题: 我读过,在窗口中创建几十个子视图并不是那么聪明,因为这会非常慢(或者在这种情况下会不会那么糟糕,因为所有子视图都是总是同一个类的实例?)。 此外,我无法找到如何从nib-或xib文件加载子视图。我需要一个viewController吗?或者这会使数十个实例问题更严重? Apple告诉你不要重叠子视图(好吧,那不是那么重要,但我真的很想知道OmniGroup的人是如何制作OmniGraffle的......) 因此,我现在想在周围的自定义视图中进行标题栏绘制并以编程方式创建textview(据我所知,文本 - “视图”不是真正的视图,并从NSCell获取其功能以减少所有观点的努力?)。 问题: 即使这样也失败了,因为我无法创建一个没有填满整个窗口的文本视图(
[[NSScrollView alloc] initWithFrame: aRect]
initWithFrame:
似乎被忽略或者我错了吗?)。 此外,最终应用程序中的每个元素都应该有一些按钮。我想用一个nib文件的子视图为每个元素更容易完成? 嗯,现在没有任何作用,我读的越多,似乎发生的问题就越多,我很困惑和沮丧。 我怎么能实现这样的程序?有人可以请我朝正确的方向努力吗?     
已邀请:
我为可拖动元素创建了一个类,我在实例变量中保存了位置,大小和文本。在我看来,每个新的元素实例都被添加到一个数组中(现在,这可以在没有控制器的情况下工作)。该数组用于绘制
drawRect:
中循环中的所有元素。对于元素的文本,我只使用NSTextFieldCell,它被设置为同一循环中每个元素的保存文本。 这样,也可以重叠元素。     

要回复问题请先登录注册