我想构建一个可可应用程序,其条目列表与Things.App的Todo list.App非常相似(请参阅屏幕截图)。问题是我是否应该使用

  1. 桌面,
  2. CollectionView或
  3. Webview。

我认为它可以与所有这些配合使用,但是哪一个最适合以下要求?

  • 有一个条目列表 - > 1列和许多行
  • 用拖放重新排序
  • 选择单个条目并使用键进行删除之类的操作
  • 打开一个条目:该行应该扩展以显示更多输入字段
  • 定制外观:圆角,阴影,背景梯度

到目前为止,我的研究表明,TableView具有大部分功能,但是很难自定义外观,CollectionView没有阻力&Drop(对吗?),但是易于设计,WebView会付出很多努力,以免伤害用户体验,我无法将模型直接绑定到输入字段。

我缺少哪些优点和缺点,您建议使用什么?

有帮助吗?

解决方案

WebView没有意义。如果您使用WebView,则不妨创建Web应用程序。 NscollectionView更多地用于网格,例如数据,例如每小时电视列表。

在这种情况下,NstableView是唯一有意义的。我已经通过nstableview毫无问题地实现了所有5点。您需要扩展nstableView并为自定义外观执行一些自定义绘图。那是最难的部分。

其他提示

  • 打开一个条目:该行应该扩展以显示更多输入字段

你需要一个 轮廓视图. 。表视图用于平面列表。

请注意,NsoutlineView是NstableView的一个子类,因此所有表视图也可以在轮廓视图上工作。

有人已经做到了。我成功使用的是Matteo Bertozzi,在这里可用: http://th30z.netsons.org/2009/03/cocoa-sidebar-with-badges-take-take-2/ 可能需要一个 少量 按摩以使其正常工作(尤其是如果您需要复杂的拖放行为),但是对于基本功能,例如获取列表中的截面标题和项目,它可以很好地工作。

编辑:这有 前来 并且是可可-DEV电子邮件列表中的一个常见问题。 这是其他一些选择.

刚刚查看事物。应用本身使用“任何地方的F-Script”。

他们使用了一个名为“详细信息图表”的NstableView的子类,该类别呈现了凝结的Todo物品。使用称为“ Todocell”的自定义单元实现了折叠的TODO项目,但是在编辑很有趣时,您会获得的扩展外观。在这种情况下,他们有一个称为“ tododitview”的自定义视图,在需要时将其作为详细信息的子视图插入。我怀疑此编辑视图在正确的位置中暂时添加为子视图,并且在存在时临时调整了表格的相应行。

一切都非常投机性..我很想知道这是如何完成的细节。这是一个很棒的UI。

我正在在应用程序中处理同样的问题(其中一个大列表类似于Todo List的内容),我认为在这里,桌子视图在这里很有意义。

诀窍是双击时让您的单元格(“行”)扩展。这就是我到目前为止取得的所有进展。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top