【发布时间】: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