代码之家  ›  专栏  ›  技术社区  ›  fuzzygoat

UITableViewCell奇怪的宽度?

  •  3
  • fuzzygoat  · 技术社区  · 15 年前

    我用IB中创建的UITableViewCell设置了一个UITableView(320宽),这个单元格也是320宽。在UITableViewCell(或者我的子类是正确的)中设置了一个背景图像(320宽)之后,我注意到这些单元格没有达到UI的右侧(注意所选单元格上的蓝色和上面的灰色),有人知道是什么导致了这种情况吗?

    alt text

    2 回复  |  直到 8 年前
        1
  •  3
  •   Community Mohan Dere    8 年前

    我在UITableView上设置了分隔符样式和分隔符颜色,这使分隔符的单元格高度减少了1个像素,并将背景向右偏移了大约5个像素。如果我把进入细胞的背景图像从320x65缩小到320x64,它完全适合没有偏移。

    alt text

    下面两个屏幕之间的唯一区别是:

    右:UITableView separator=“单行”(UITableView单元格背景有偏移)

    • 单元分辨率:320x65
    • 单元视图:320x65

    干杯,加里

        2
  •  0
  •   David Liu    15 年前

    在我看来,您只是没有正确设置背景图像视图的contentMode(即,您将其设置为aspectFit或其他)。你确定它偏移了5,而不是缩小了5像素吗?

    例如,如果原始图片是320x65,并且高度降低到64,aspectFit将在保持相同纵横比的情况下将其缩放为 64/65 * 320 ~= 315