在 Xcode 中创建自定义视图列表
Creating a List of Custom Views in Xcode
我目前正在为 MacOS
开发一个桌面应用程序,用于一次从 URL 批量下载音频文件我 运行 遇到了一个关于 UI 想不通的设计
我有一个名为 SongEntry.swift
的 class,它包含有关输入的 URL 的信息(例如 url、标题、长度、作者等)和我想创建一个垂直增长的自定义视图列表,该列表会在添加新视图时更新。
基本视图在哪里:
大白区里面是我要放列表的地方。
我试图创建一个单独的视图控制器来处理每个条目,但没有成功。我知道 MacOS
的 UI 设计与 iOS
有很大不同,但我认为我正在寻找的是一种模拟 table 视图和来自 iOS
但找不到 suitable 选项。
如果有人知道可能的解决方案或能指出正确的方向,我将不胜感激!
您想要的是 collection 视图之一。对于垂直列表,您可能只使用一列 NSTableView
并隐藏其他所有内容,例如 headers.
以下是您需要的大致步骤:
- 您可以使用现有的视图控制器或仅为 table 创建专用视图控制器(并使用 Interface Builder 中的 'embed' 选项)
- 此视图控制器将采用
NSTableViewDataSource
和 NSTableViewDelegate
协议来提供数据(您的 SongEntry objects)和每一行的视图。
- 您设置 NSTableView 的源代码并委托给您的视图控制器。
- 您创建一个视图作为您的 "cell",每行将使用它来显示数据。您可以在 IB 或代码中设计它。
整个过程在Table View Programming Guide for Mac中有详细描述。
这个话题可能有点令人困惑。请注意,有两种主要方法:view-based 和 NSCell-based table。不要理会 NSCell 的方式,它更像是遗留下来的东西。
另请注意,NSTableViewDataSource
和 NSTableViewDelegate
中的方法有一些重叠,以提供一开始可能有点混乱的数据和视图。只需尝试一下代码和示例,就会更清楚何时使用哪个委托方法。
Apple 的开发者网站和 github 上都有很多示例。也是关于 raywenderlich.com.
的一个很好的教程
我目前正在为 MacOS
开发一个桌面应用程序,用于一次从 URL 批量下载音频文件我 运行 遇到了一个关于 UI 想不通的设计
我有一个名为 SongEntry.swift
的 class,它包含有关输入的 URL 的信息(例如 url、标题、长度、作者等)和我想创建一个垂直增长的自定义视图列表,该列表会在添加新视图时更新。
基本视图在哪里:
大白区里面是我要放列表的地方。
我试图创建一个单独的视图控制器来处理每个条目,但没有成功。我知道 MacOS
的 UI 设计与 iOS
有很大不同,但我认为我正在寻找的是一种模拟 table 视图和来自 iOS
但找不到 suitable 选项。
如果有人知道可能的解决方案或能指出正确的方向,我将不胜感激!
您想要的是 collection 视图之一。对于垂直列表,您可能只使用一列 NSTableView
并隐藏其他所有内容,例如 headers.
以下是您需要的大致步骤:
- 您可以使用现有的视图控制器或仅为 table 创建专用视图控制器(并使用 Interface Builder 中的 'embed' 选项)
- 此视图控制器将采用
NSTableViewDataSource
和NSTableViewDelegate
协议来提供数据(您的 SongEntry objects)和每一行的视图。 - 您设置 NSTableView 的源代码并委托给您的视图控制器。
- 您创建一个视图作为您的 "cell",每行将使用它来显示数据。您可以在 IB 或代码中设计它。
整个过程在Table View Programming Guide for Mac中有详细描述。
这个话题可能有点令人困惑。请注意,有两种主要方法:view-based 和 NSCell-based table。不要理会 NSCell 的方式,它更像是遗留下来的东西。
另请注意,NSTableViewDataSource
和 NSTableViewDelegate
中的方法有一些重叠,以提供一开始可能有点混乱的数据和视图。只需尝试一下代码和示例,就会更清楚何时使用哪个委托方法。
Apple 的开发者网站和 github 上都有很多示例。也是关于 raywenderlich.com.
的一个很好的教程