实现多个 UITableViews 的最佳方式

Posted

技术标签:

【中文标题】实现多个 UITableViews 的最佳方式【英文标题】:Best way to implement multiple UITableViews 【发布时间】:2019-03-17 18:55:17 【问题描述】:

我正在开发一个项目,用户可以上传最多 10 首歌曲的名称。一切正常,我只需要在点击“帖子”时显示它们。这看起来类似于其他社交网站上的帖子:

Username
Date of post
(Optional note - can be multiple lines, so no fixed height

Song 1
Song 2
Song 3
...

X likes

Username
Date of comment
Comment

所以我基本上有一个 UITableView 来在单独的单元格中显示歌曲和相关信息,例如艺术家、专辑、歌曲持续时间等。我还想在 UITableView 中显示 cmets。

所以,我的问题是:我应该添加 UIScrollView 并单独添加所有元素(例如,顶部的信息作为常规 UiView),因为不建议在 UIScrollView 中嵌套 UITableViews?我也考虑过将顶部和底部视图实现为 UITableViewHeader 和 UITableViewFooter,但是我担心这两个视图的动态高度。

对实现此目标的最佳方法有什么建议吗?

【问题讨论】:

我花了一段时间才理解您要创建的界面,但我现在明白了问题所在。 @matt 我可能需要添加一些艺术品来展示,也许。但我很高兴你能理解我面临的问题。关于最佳方法的任何建议? 我推荐一个不同的界面。表格视图上方的可变高度显示非常不寻常。我觉得你正试图将太多信息挤在一个屏幕上。 我不太担心信息太多。可变高度仅取决于包含用户提交的“注释”的 UILabel。认为它是“这是一个不错的播放列表!”或“我真正喜欢的音乐”,因此可以换行多行。那是那里唯一的 vaiablr 高度,当然还有底部的 cmets 【参考方案1】:

我有一个屏幕,其中有两个并排的 UITableView - 它是一个数量选择器(计数和单位类型)。基本上我拥有的是一个带有 2 container view controllers 的“父”视图控制器。在每个容器内都有一个表格视图控制器,里面有表格。我可以通过这种方式将所有表逻辑路由回父控制器,并将所有内容保存在一个地方。我已经在故事板中使用自动布局来简化事情,但它可以在代码中轻松完成。不确定这是否是“最好”的方法,但效果很好!

【讨论】:

以上是关于实现多个 UITableViews 的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

Twitter个人资料页面iOS Swift剖析(UIScrollView中的多个UITableViews)

一个 UIView 上的多个 UITableViews

在 Objective-C 中实现这种滚动 UI 的最佳方式是啥?

iOS - 具有多个 UITableViews 的水平 UIScrollView

Xcode中多个Segues中通过UITableViews传递数据(三个Segues)

如何将 UITableViews 用于多个数据集