繁体   English   中英

表格视图单元格的大小取决于情节提要中预览设备的大小

[英]table view cell size depends on the preview device size in storyboard

我在屏幕宽度为414点的iPhone 6 plus上运行我的应用程序,如果我将预览设备设置为屏幕宽度为375点的iPhone 7,则在首次加载表格时,我会打印出尺寸在viewdidload中表的宽度为414,但表单元格的宽度均为375,在我上下滚动后,宽度更改为414。在多个UITableViewController中进行测试,所有结果均相同。

我的问题是:

为什么表视图单元格的大小取决于预览设备的大小?

我如何使电池在首次加载时具有正确的尺寸?

tableView.layoutIfNeeded(),tableView.layoutSubViews()不起作用。

tableview具有正确的大小414(我的设备大小),但是以某种方式,像元大小是模拟指标的大小,经过几个月的研究,这是我想出的答案:

在我的单元格类中,重写awakeFromNib() ,将frame.size.width设置为UIScreen.main.bounds.width ,然后调用layoutIfNeed()

每次从情节提要板加载视图时,其最初将具有情节提要板中指定的大小,然后将其添加到视图层次结构时,将调整其框架(通过自动布局或您的自定义代码)。

因此,在您的情况下,当第一次从情节提要中加载单元格时,它将具有414点的宽度(假设您的tableView与视图控制器具有相同的宽度),但是当将其放置在实际的视图层次结构中时,它将被调整大小相应地(375pt,等于您的表格视图的宽度)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM