【问题标题】:Table Views that don't take up the whole screen, within a stack view在堆栈视图中不占据整个屏幕的表视图
【发布时间】:2020-11-17 00:02:10
【问题描述】:

我在尝试为我的应用实现布局时遇到问题。每当我使用 tableviews 时,它都希望尽可能多地占用空间。我正在尝试(从上到下)一个带有两行、一个文本字段和一个水平堆栈视图的表格视图,该视图通过两个按钮根植于底部。像这样的:

Mockup

我的问题是,限制这一点有点像噩梦。目前我的视图看起来就像这样,但是它的硬编码是表格视图的顶部约束被插入 400。我需要一种灵活的方法,当我点击文本字段时,我将调整到键盘的顶部,以及它上面的 tableview。

目前我在 View 中拥有 TableView,它位于带有文本字段的 StackView 和带有按钮的底部堆栈视图中。如何设置约束,使整个堆栈看起来好像植根于屏幕底部?

很抱歉,如果这是一个宽泛的问题,它更像是“我应该怎么做”而不是“我该怎么做”这样的问题。我应该提到我也在以编程方式执行此操作,使用 SnapKit 作为约束。

谢谢大家!

【问题讨论】:

  • 我还应该提到,当我非常简单地将堆栈视图限制在边缘时,底部的 Buttons 和 TextField 完美显示,但 TableView 只是消失了
  • 作为一般规则,表格视图用于重复、相同(或相似)的“行”,最常见的情况是行数超过视图的高度,因此您需要滚动。如果您想要 2 个“行”+ 一个文本字段 + 2 个按钮,那听起来不适合从表格视图开始。

标签: ios swift mobile constraints tableview


【解决方案1】:

通过重新考虑简化整个事情来解决。从堆栈中取出表格视图,将其和堆栈视图放入。然后问题出在我原来的那个,单元格被卡在屏幕顶部并且完全不改变它。

所以我使用

翻转了表格视图
tableView.transform = CGAffineTransform(scaleX: 1, y: -1)

对两个单元格执行相同的操作以将它们翻转回正常方向。现在景色很完美!希望这对将来的任何人都有帮助

【讨论】:

  • 这听起来像是一种非常尴尬(并且可能有问题)的实现布局的方式。如果这与您所追求的相似:i.stack.imgur.com/XKby4.png - 您可以在没有表格视图的情况下轻松完成此操作,或者需要转换任何内容。
猜你喜欢
  • 1970-01-01
  • 2020-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
相关资源
最近更新 更多