【发布时间】:2019-08-09 17:30:58
【问题描述】:
我有一个项目,我必须在一个屏幕上显示大量信息。信息量不大,但实现起来很复杂。对于这个问题,我建议查看this screenshot,这将说明我想要实现的目标。
我目前使用包含UITableView 的UIViewController 设置此屏幕,该UITableView 使用中间部分的自动布局固定到视图的顶部、底部、前导和尾随锚点。这很好用。然后我添加了一个tableHeaderView,其中包含有关用户的信息。现在我刚刚在tableFooterView 中添加了第二个UITableView,令人惊讶的是,这也很有魅力。我在高度方面遇到了一些麻烦,但我设法在viewDidLayoutSubviews() 方法中完成了它。但这有点跑题了。
我现在处于最后阶段,我想添加 UITextView 和 UIButton(在 UIView 容器中)以允许用户添加 cmets。起初,我在tableFooterView 中添加了这个并且它起作用了,但是一旦内容太短(例如中间只有一行并且还没有cmets),UITextView 就会出现在屏幕中间(直接在UITableView的内容下)。我对此进行了阅读并认为这是tableFooterView 的预期行为,所以我现在正试图找出一种方法来添加此自定义视图以添加将始终打开的 cmets如果内容没有填满整个屏幕,则底部,但如果内容大于屏幕大小,也会随着内容滚动。 (理想情况下,当用户输入文本时,我希望能够扩大或缩小 UITextView - 如果有人建议 contentInsets,这可能是相关的)。
有什么建议吗?我是否应该将子视图直接添加到UITableView(据我所知,不推荐)?我应该在 UITableView 上使用 contentInsets 并将UIView 容器添加为我的主要UIViewController 的子视图吗?在搜索了多种解决方案但没有找到合适的解决方案后,我有点迷茫,所以我希望你们能帮助我。干杯!
【问题讨论】:
-
这是怎么复制的?他们建议在那里使用 tableFooterView 或节页脚。 tableFooterView 是我目前用于 cmets 的,但是当内容太少时它最终不会位于底部。部分页脚是不可能的,因为我希望它位于整个 UITableView 的底部。
-
可能重复,也不能重复。
标签: swift uitableview uitextview