Ios 提出不同的局部观点

Ios 提出不同的局部观点,ios,swift,uiview,uiviewcontroller,Ios,Swift,Uiview,Uiviewcontroller,我正在开发一个应用程序,其中屏幕分为4个部分:带有公司徽标等的顶部栏、内容部分、带有一些按钮的底部栏,然后在底部添加横幅 第一次运行将要求用户回答一系列问题。这些将在内容部分介绍。当每个问题完成后,用户点击底部栏中的“下一步”按钮,下一个问题将从右向左滚动 我的问题是,实现这一目标的最佳方式是什么?我曾考虑过使用一系列UIView并制作它们的动画,但由于将有20或30个问题(所有不同的类型,一些有文本答案,所以有多种选择,一些有日期),因此在故事板中管理这些问题将变得相当困难 我应该为每个问题使

我正在开发一个应用程序,其中屏幕分为4个部分:带有公司徽标等的顶部栏、内容部分、带有一些按钮的底部栏,然后在底部添加横幅

第一次运行将要求用户回答一系列问题。这些将在内容部分介绍。当每个问题完成后,用户点击底部栏中的“下一步”按钮,下一个问题将从右向左滚动

我的问题是,实现这一目标的最佳方式是什么?我曾考虑过使用一系列UIView并制作它们的动画,但由于将有20或30个问题(所有不同的类型,一些有文本答案,所以有多种选择,一些有日期),因此在故事板中管理这些问题将变得相当困难

我应该为每个问题使用视图控制器吗?如果是这样的话,我怎样才能只显示内容部分,这样当它在初始视图控制器的顶部和底部滚动时,仍然可以看到它们的按钮等。。。还活跃吗

是否有实现这一目标的最佳实践方法

  • 视图结构:
  • 您可以为内容部分设置一个,您可以在其中嵌入视图控制器层次结构,该层次结构将显示问题答案。 但是,您希望从此视图控制器控制问题流程,因为工具栏(底部栏)包含指示流程的控件(下一步按钮)。 因此,从容器视图中为嵌入序列添加一个标识符,并在“prepreForSegue”方法中获得对嵌入视图控制器的控制

  • 导航:
  • 选项1:您可以在容器视图中嵌入,并将显示所有问题屏幕设置为页面视图控制器的页面

    选项2:您可以嵌入UINavigationController,并将问题屏幕推送到导航堆栈中

  • 问答屏幕:
  • 选项1:您可以创建一个UITableViewController,并为每种类型的问题和答案创建一个自定义单元格。在表视图中可以有两个部分。第1节将有问题单元格,第2节将有答案单元格。这允许您拥有任何类型的问答UI组合。通过为问题创建TextView单元格和image单元格,可以使用文本和图像创建问题。类似地,您可以在“答案”部分中为文本答案设置一行,其中多项选择题中的所有选项都作为单独的行,并为所选答案设置“复选标记”附件

    选项2:可以为每种类型的问题创建一个单独的视图控制器。根据问题,创建相关的视图控制器,并将add i传递到视图层次结构(取决于所选的导航选项)


    在任何情况下,您都必须确保您设计的数据结构必须非常强大,并且您的视图导航是可定制的,并且由问答数据源驱动。

    为什么不使用UICollectionView?这非常有意义。谢谢