【问题标题】:Can you use springs & struts to adjust TableViewCell size for different devices?您可以使用弹簧和支柱来调整不同设备的 TableViewCell 大小吗?
【发布时间】:2016-11-30 00:41:38
【问题描述】:

我正在构建一个包含 TableView(XCode 8、iOS 10)的简单界面。大多数界面很容易用弹簧和支柱设计。但是,我看不到为 TableViewCell 或 ContentView 设置弹簧的方法。因此,当我将设备调整为更大的尺寸(如 iPad)时,行保持相同的高度,为 44 磅。

我在这里不处理任何动态内容,所有行的高度相同就可以了。我只是在寻找一种快速简便的方法来调整不同设备的行高,使它们看起来更成比例。

TableCell 包含几个标签,如果重要的话,这些标签具有为较大的设备指定的较大字体大小 (wR hR)。标签在垂直和水平方向都设置为弹性,但目前仅在水平方向变化。

有没有办法使用弹簧和支柱来做到这一点,还是我需要将其切换到自动布局?

谢谢。

【问题讨论】:

  • 我认为它要么是用于单元格高度和自动布局的 UITableViewAutomaticDimension,要么是因为您可以为每个单元格使用相同的大小,您可以使用 'heightForRowAt' 函数和类似 'return self.view.frame .size.height / 6'
  • @jovanjovanovic 不,如果所有行的高度相同,请不要使用heightForRowAt。相反,只需设置一次表格视图的rowHeight 属性(可能在viewDidLoad 中)。
  • @rmaddy 轮换呢?
  • @jovanjovanovic 公平点。然后在viewWillTransition方法中设置rowHeight
  • @jovanjovanovic,效果很好。如果您发布答案,我会接受。就我而言,我只使用肖像,所以我相信我会按照 rmaddy 的建议将其放入 viewDidLoad。同时,我感谢你们俩的帮助!

标签: ios autolayout


【解决方案1】:

我认为您应该使用UITableViewAutomaticDimension 来设置单元格高度和自动布局,或者,由于每个单元格的大小相同,您可以使用heightForRowAt 函数并返回类似return self.view.frame.size.height / 6 的内容

【讨论】:

  • 设置表格视图的rowHeight 属性比在所有行具有相同高度时实现heightForRowAt 委托要高效得多。
猜你喜欢
  • 1970-01-01
  • 2014-09-23
  • 2021-01-26
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
相关资源
最近更新 更多