Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 应用程序任务。怎么用?_Cocoa_User Interface - Fatal编程技术网

Cocoa 应用程序任务。怎么用?

Cocoa 应用程序任务。怎么用?,cocoa,user-interface,Cocoa,User Interface,伙计们,你们有没有想过如何在Things应用程序中创建界面元素作为任务?它是Nstableview吗?事物似乎使用自己的自定义视图 如果集合中的所有项大小都相同,则可以使用NSCollectionView和具有自定义背景的NSCollectionViewItem子类轻松完成此操作。因为它们的高度是可变的,所以你必须自己滚动 实际上,您需要一个容器视图,其任务是布局子视图。您需要一个可以处理控件集合的自定义子视图。您将为container视图中的每个项目实例化一个新的“prototype”视图。容

伙计们,你们有没有想过如何在Things应用程序中创建界面元素作为任务?它是Nstableview吗?

事物似乎使用自己的自定义视图

如果集合中的所有项大小都相同,则可以使用NSCollectionView和具有自定义背景的NSCollectionViewItem子类轻松完成此操作。因为它们的高度是可变的,所以你必须自己滚动

实际上,您需要一个容器视图,其任务是布局子视图。您需要一个可以处理控件集合的自定义子视图。您将为container视图中的每个项目实例化一个新的“prototype”视图。容器视图将在任何重大更改(添加/减少、子视图大小更改、窗口大小调整…)后“平铺”视图

最简单的平铺就是简单地在每个视图中滚动,按照给定的宽度将其对齐到其高度,然后将其后面的下一个视图对齐。。。不过,您将需要考虑大型集合的性能。在这种情况下,在通常的Cocoa通道上有各种各样的缓存方法

我在我的一个产品中做到了这一点——大约从2004年开始,通过缓存“条目”的预绘制表示,仅对用户正在编辑的条目使用“真实”条目视图,稳步提高了性能。换言之,让基础知识发挥作用很容易,但要从大量集合中挤出好的性能却越来越难了。:-)