我正在为OS X编写一个应用程序,该应用程序将有几个垂直滑块,每个滑块都有带刻度标记的标签和直接位于其上方的NSTextField。我需要以编程方式放置标签以使它们排成一行。因此,不是为每个滑块执行此操作,我认为编写执行它的类会很聪明,然后我可以创建该类的4或5个实例,并为每个滑块设置UI。这可能吗?我不知道从哪里开始。
答案 0 :(得分:0)
您的情况从您的描述中有点不清楚。如果你能提供更多细节,也许还有截图,那就太好了。
你提到编写一个类并创建它的一些实例。你应该问自己,那个班级的概念重要性是什么?事实上,我不会为每个组创建一个类,只是为了定位控件。在这种情况下,控制器(或其他地方)中的一个简单方法应该足以实例化,定位和装配控件:
- (void)placeNewControlGroup
{
// do the placement
// set up bindings
// rig actions etc.
}
然后,只要您需要,您可以调用该方法来创建一组新的控件(即滑块,标签等)。
或者,您可以使用Cocoa为处理集合提供的一些标准视图。例如,NSCollectionView
或基于视图的NSTableView
。可以找到前者的精彩视频教程here。
例如,创建NSCollectionView
并水平调整大小以适合您的内容(即垂直滑块)可能是一种解决方案。在this question中,还提出了一个轮换的NSTableView
,这可能不是一个坏主意。