【问题标题】:How to set background image of any UITableViewCell?如何设置任何 UITableViewCell 的背景图像?
【发布时间】:2018-12-21 11:36:56
【问题描述】:

我正在尝试设置我的视图容器的背景图像,但问题是我的 UITableView 单元格具有动态高度,我想控制其内容的高度而不是根据图像。 我该怎么做???这是我在情节提要中使用的内容。

现在,问题是我没有对主图像进行任何高度或宽度限制,因为我说单元格应该尊重它们的内容,因此图像会根据自己的大小进行扩展或缩小。

我已经尝试过的,

  1. 试图以各种可能的方式优先考虑图像约束。
  2. 尝试了应用程序背景颜色模式方法(这将多次重复图像。)

我到底想做什么?

这些单元格有一张图片作为背景和一些内容。 请注意,内容可以更改,单元格是动态的。

我面临的问题是, 图像设置不好,有时会出现在整个单元格的一半上,有时会重叠到下一个单元格上。图像会扩展单元格,因此单元格会根据图像大小而不是内容来调整其高度。

提前致谢。

【问题讨论】:

  • 现在怎么样了?单元格高度是否适用于文本内容?目前我不明白你在挣扎什么:-[
  • 我已经更新了我的问题,请立即查看
  • @Najam 您必须根据所有标签高度计算高度。
  • 我也在想,没有别的办法了吗? @VDPurohit
  • 哪个标签是动态的? Label1(Loc1 -- Loc2 -- Loc3) 还是 Label2(Green Route)?你能上传有问题的屏幕吗

标签: ios swift uitableview storyboard constraints


【解决方案1】:

你好,使用下面的代码你可以找到标签:-

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 委托方法中返回(例如返回估计帧高度 +“每个标签的距离(40)”)

谢谢

【讨论】:

    【解决方案2】:

    请查看此 GitHub 存储库(存储库自述文件中的屏幕截图):

    https://github.com/tony42/TestTableCellBackground

    这看起来像您需要的吗?

    我不确定你做错了什么 - 所以,我从一个空项目重新开始。对我来说,诀窍是将图像的“抗压性”设置为“低”(250)。这是一个很好的练习:-)

    【讨论】:

      猜你喜欢
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      相关资源
      最近更新 更多