编写一个在Cocoa中创建多个接口对象的类

时间:2014-02-28 06:31:07

标签: macos cocoa class

我正在为OS X编写一个应用程序,该应用程序将有几个垂直滑块,每个滑块都有带刻度标记的标签和直接位于其上方的NSTextField。我需要以编程方式放置标签以使它们排成一行。因此,不是为每个滑块执行此操作,我认为编写执行它的类会很聪明,然后我可以创建该类的4或5个实例,并为每个滑块设置UI。这可能吗?我不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

您的情况从您的描述中有点不清楚。如果你能提供更多细节,也许还有截图,那就太好了。

你提到编写一个类并创建它的一些实例。你应该问自己,那个班级的概念重要性是什么?事实上,我不会为每个组创建一个类,只是为了定位控件。在这种情况下,控制器(或其他地方)中的一个简单方法应该足以实例化,定位和装配控件:

- (void)placeNewControlGroup
{
    // do the placement
    // set up bindings
    // rig actions etc.
}

然后,只要您需要,您可以调用该方法来创建一组新的控件(即滑块,标签等)。

或者,您可以使用Cocoa为处理集合提供的一些标准视图。例如,NSCollectionView或基于视图的NSTableView。可以找到前者的精彩视频教程here

例如,创建NSCollectionView并水平调整大小以适合您的内容(即垂直滑块)可能是一种解决方案。在this question中,还提出了一个轮换的NSTableView,这可能不是一个坏主意。