我的桌面视图占全宽&我当前控制器的高度。每个单元格只包含一个图像,占据了tableview的整个宽度。
我不知道的是图像的大小,我不需要裁剪或拉伸。
我需要的是我的细胞根据它所持有的图像调整自身大小。在创建单元格后,使用来自Internet的SDWebImage加载图像。
到处都有关于硬编码值或其他任何你能想象到的相同思维过程的荒谬答案,但这在这里是不可能的。
我尝试过使用
tableview.RowHeight = UITablevies.DynamicDimension;
tableview.EstimatedRowHeight = aFloatValue;
但这并不像预期的那样有效。
当单元格加载时,它们的高度与图像匹配,但图像不会填满整个宽度。所以这并不好,因为这方面存在差距。
然后滚动然后重新滚动回到那个单元格,它们突然调整大小(并且在视觉上是不可接受的)以获取他们应该的全宽度但是单元格在高度方面调整得太远,并且在那时那里是细胞之间的差距。
所以这个解决方案有两个问题:单元格由于某种原因调整自身太大,太晚了,在每次调整大小之后的AND之前,存在一个大小问题。
为清晰起见,请参阅附图。
当重新加载单元格时会发生调整大小,并将整个桌面视图向下推,这会导致所有图像的突然和突然移动,并且是不可接受的。
Édit: - 我无法询问获取图像的图像大小。 - 约束是顶部的前导和尾随superview的边界为0 - 图像已经比单元格大,它的大小确定。 - 图像应该占据整个宽度,我希望单元格的高度正好是图像的高度。图像的高度是图像在采用全宽
时保持其纵横比时的任何数字