有条件地显示字段集的表单视图的哪种方法?
Which approach for a form view conditionally showing sets of fields?
我正在开发一个库存控制应用程序,该应用程序处理一些不同的 classes 项目。每个 class 项的详细视图在布局上共享大部分相同的项:
- 项目名称
- 照片
- 描述
- 库存数量
除了基础知识之外,不同类型的项目还需要显示其他信息,例如序列化子项目或必需的子项目等...为了减少不同布局的数量,我考虑了两种选择:
选项 1:
一个表格视图,其中每个布局项目(即:项目名称、照片等...)作为一个单元格。根据项目的类型,只会显示相关单元格并填充数据。
正如我尝试复制的 FileMaker 解决方案的附加屏幕截图所示,字段垂直堆叠,因此在视觉上可以使用 tableview。
选项 2:
在 Storyboard 中创建一个包含所有可能字段的视图。将记录加载到视图中时,只会显示相关字段,然后向上滑动填写隐藏字段留下的space。
作为 UI 的新手,我要求的答案包含每种方法的优缺点,并鼓励使用其他能够达到相同最终结果的相当简单的替代方法。请注意,这个项目是用 Swift 编写的,我没有 Objective-C 经验,所以任何示例最好在 Swift.
中
每当您以这种方式组织数据时,最好的方法是使用 table 视图的选项 1。最大的优势是 scrollToRowAtIndex
功能,当它成为第一响应者时,可以轻松滚动到特定的文本字段。我不确定您是在操纵数据还是只是显示数据,但这非常有帮助:
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: UITableViewScrollPosition.Top, animated: true)
此选项还有一个优点,即可以为相似的输入类型使用可重复使用的单元格,因此您只需创建一个原型单元格。此外,如果您的某个单元格包含更多内容,则可以轻松将其调整为该内容的大小。
您说“当记录加载到视图中时,只会显示相关字段,然后向上滑动以填充隐藏字段留下的 space”,但这可以应用于 table 也可以查看。
我正在开发一个库存控制应用程序,该应用程序处理一些不同的 classes 项目。每个 class 项的详细视图在布局上共享大部分相同的项:
- 项目名称
- 照片
- 描述
- 库存数量
除了基础知识之外,不同类型的项目还需要显示其他信息,例如序列化子项目或必需的子项目等...为了减少不同布局的数量,我考虑了两种选择:
选项 1:
一个表格视图,其中每个布局项目(即:项目名称、照片等...)作为一个单元格。根据项目的类型,只会显示相关单元格并填充数据。
正如我尝试复制的 FileMaker 解决方案的附加屏幕截图所示,字段垂直堆叠,因此在视觉上可以使用 tableview。
选项 2:
在 Storyboard 中创建一个包含所有可能字段的视图。将记录加载到视图中时,只会显示相关字段,然后向上滑动填写隐藏字段留下的space。
作为 UI 的新手,我要求的答案包含每种方法的优缺点,并鼓励使用其他能够达到相同最终结果的相当简单的替代方法。请注意,这个项目是用 Swift 编写的,我没有 Objective-C 经验,所以任何示例最好在 Swift.
中每当您以这种方式组织数据时,最好的方法是使用 table 视图的选项 1。最大的优势是 scrollToRowAtIndex
功能,当它成为第一响应者时,可以轻松滚动到特定的文本字段。我不确定您是在操纵数据还是只是显示数据,但这非常有帮助:
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: UITableViewScrollPosition.Top, animated: true)
此选项还有一个优点,即可以为相似的输入类型使用可重复使用的单元格,因此您只需创建一个原型单元格。此外,如果您的某个单元格包含更多内容,则可以轻松将其调整为该内容的大小。
您说“当记录加载到视图中时,只会显示相关字段,然后向上滑动以填充隐藏字段留下的 space”,但这可以应用于 table 也可以查看。