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