我尝试制作一张充满图片的桌面视图。这就是我想要的和我的约束:
cell.width = image in cell.height中的图像,带有3:2的乘数
cell.centerX = Superview.centerX
中的图像cell.width = Superview.width
中的图像表格View.Center X = Superview.Center X
表View.width = Superview.width
Cell.Bottom = Cell.Bottom + 8中的图像
table view.top = top layout guide.bottom
table view.bottom = red block.top
这就是我得到的:
我有三张图片,一张在屏幕上可见,另外两张在滚动时可见。 我的屏幕底部还有一个红色块。桌面视图位于红色区块后面。
我的问题是每张照片上都有一个空白区域。我猜它来自内容视图或单元格高度与我的图片高度不匹配,但我没有设法使其正确。
通过一些更改,我在图片之间获得了正确的空间,但屏幕上的宽高比为#34;不再受到尊重(=图片宽度似乎越过屏幕宽度)。如果我在Cell.height中添加cell.height = Image,会发生这种情况。我也得到了aspect = 3:2的冲突约束,高度= Cell.height中的Image,Cell.width = width中的Image,以及height = 400。
你看到了什么问题吗?
谢谢,
亚历
答案 0 :(得分:1)
您是否静态设置了tableView rowHeight?我认为它应该是动态的,因为在不同的屏幕上,根据纵横比,单元高度会有所不同。
将此代码添加到viewDidLoad。这将有助于使tableView单元格高度动态化:
self.tableView.rowHeight = UITableViewAutomaticDymension
self.tableView.estimatedRowHeight = 60;
要使tableView计算单元格高度,请将imageView顶部约束添加到superView(单元格)为0。
实际上,如果您希望单元格在不同屏幕上是静态高度,只需删除aspectRatio约束,将imageView heightConstraint添加为等于单元格。它也会起作用。