我正在尝试设置我的视图容器的背景图像,但是问题是我的UITableView Cell具有动态高度,我想根据其内容而不是根据图像来控制高度。 我应该怎么做?这就是我在情节提要中使用的。
现在,问题是我没有对主图像施加任何高度或宽度限制,因为我说单元格应该尊重其内容,因此图像会根据其自身大小进行扩展或缩小。
我已经尝试过的东西
我实际上想做什么?
这些单元格具有图像作为背景和一些内容。 请注意,内容可以更改,单元是动态的。
我面临的问题是 图像设置不佳,有时出现在整个单元格的一半,有时甚至重叠到下一个单元格。图像会扩展细胞,因此细胞会根据图像大小而不是内容来调整高度。
谢谢。
答案 0 :(得分:0)
您好,使用下面的代码可以找到标签的:-
let currentSource = "your label text"
let size = CGSize(width: screenWidth - 24, height: 0)
let attributes = [NSAttributedStringKey.font : UIFont.systemFont(ofSize: 17.0)]
let estimatedFrame = NSString(string: currentSource.text).boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: attributes, context: nil)
使用此代码,在找到标签的每个高度之后,还获得了标签的高度,并添加了标签之间的距离,然后返回heightForRowAt委托方法(例如,return EstimateFrame.height +“每个标签的距离(40)”)>
谢谢
答案 1 :(得分:-1)
请查看此GitHub存储库(存储库README中的屏幕截图):
https://github.com/tony42/TestTableCellBackground
这看起来像您所需要的吗?
我不确定您做错了什么-因此,我从一个空项目开始。对我来说,诀窍是将图像的“抗压缩性”设置为“低”(250)。这是一个很好的练习:-)