【问题标题】:How to stop header outside of tableView from disappearing when keyboard appears键盘出现时如何阻止tableView之外的标题消失
【发布时间】:2017-11-22 01:33:08
【问题描述】:

所以对于我的生活,我无法弄清楚当键盘弹出时如何阻止标题滚动到屏幕外。

Without keyboard engaged - header is where it should be | With keyboard engaged - header disappears

My hierarchy

这似乎应该是一个很容易解决的问题,但我玩过这么多不同的布局设置和约束,我就是想不通。有人对我如何完成这项工作有一些建议吗?

【问题讨论】:

  • 所以看起来整个视图都随着键盘向上移动。显然,当键盘可见时,空间就会减少,那么您想要发生什么? tableview 是否应该缩小垂直尺寸?
  • @UpholderOfTruth 是的,我希望标题仍然可见,并且在键盘出现时顶部单元格向上滑动,以便只有最底部的单元格可见
  • 基本上你需要给标题视图一个固定的高度约束,然后将其固定到顶部,给按钮一个固定的高度约束,然后将其固定到底部。然后将表格的顶部固定到标题的底部,将表格的底部固定到按钮的顶部。然后当键盘出现时,您需要通过键盘高度缩小超级视图,唯一可以改变高度的是表格。
  • 您使用的是哪个版本的 Xcode,因为有一个很好的 WWDC 视频,介绍了如何在 Xcode 9 中调整键盘。

标签: ios swift uitableview layout keyboard


【解决方案1】:

通过在 viewForHeaderInSection 方法中返回第 0 节的视图而不是 TableHeader 使其成为节标题...这可以解决您的问题。

【讨论】:

  • 这可能是解决问题的一种可能方法,但如果您查看层次结构,它不是 TableHeader,而是表格上方的单独视图。
  • 是的,它不是表头。如果我只使用表头将其转换为格式会最简单吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-19
相关资源
最近更新 更多