组合视图控制器?或具有多个部分的 TableViewController?

Combined View Controller? Or TableViewController with multiple sections?

我是 iOS 应用程序开发的新手(主要是游戏开发人员,所以我最常使用 Unity)...所以我一直在多个地方寻找这个答案,也许我什至都不知道知道如何正确提问,但我会尝试解释我想要完成的事情。

目标:我有一个应用程序有一个新闻源,其中包含发布到新闻源的各种主题,当您点击一个主题时,它会将您带到一个页面,其中包含有关该主题的更多信息,然后包含所有更新从最近开始按顺序发布在下面发布的该主题的新闻源中。

我的问题:我是否必须结合视图控制器才能完成此操作?对于新闻源,我使用的是 TableViewController,但对于这个特定示例,此页面的 "top" 部分是对主题的详细描述。然后所有更新都在其下方提供。这也可能只是一个包含多个部分的表格视图吗?

Very Old Prototype Image, for example of what trying to accomplish

我真的只是不知道如何做到这一点,但我知道这是可能的,因为多个应用程序都有主题并且在它们下面有评论,所以我无法想象自己发布的更新是不同的......但我不完全理解什么样的查看那些用于完成此操作的应用程序。

任何指导将不胜感激。

看起来您最好的选择是具有不同单元格类型和自定义部分 headers 的单个 UITableViewController。每个单元格类型都是一个单独的视图,"knows" 如何显示特定类型的数据 - 这个问题已经回答 here. Here 是关于自定义部分的一些信息 headers。

您可以只将您的每个条目都设为一个单元格,并且只包含顶部部分和更新部分的部分。

首先,您需要为您的版块设置 Headers。这可以使用 headerForSection tableView() 方法进行设置。 See this for more.

然后,如果您要获得模型中的确切外观,我会建议子classing UITableViewCell 并对其进行自定义,以便它看起来像您想要的样子喜欢。要自定义一个单元格,只需在您的 UITableViewController 故事板中创建一个原型单元格,然后将其 class 设置为您对单元格 subclass 的任何称呼。网上有很多资源可以提供帮助。

既然你所有的 entries/updates 看起来都一样,那么你可以根据需要使用自定义单元格。