UITableViewCell奇怪的宽度?

时间:2010-07-29 16:59:39

标签: iphone objective-c cocoa-touch

我已经设置了一个UITableView(320宽),在IB中创建了一个UITableViewCell,该单元格也是320宽。在UITableViewCell中设置背景图像(320宽)(或者我的子类是正确的)后,我注意到细胞不在UI的右侧(注意所选单元格上的蓝色和上面的灰色) )有谁知道造成这种情况的原因是什么?

alt text

干杯加里

2 个答案:

答案 0 :(得分:3)

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

alt text

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

左:UITableView Seperator =“无”(UITableViewCell背景没有偏移)

右:UITableView Seperator =“单行”(UITableViewCell背景有偏移量)

DATA:

  • 细胞分辨率:320x65
  • 单元格视图:320x65
  • 细胞背景图像分辨率:320x65

如果你想使用分隔符你的单元格背景图像需要是320x64,这将阻止它横向移动并正确显示单元格。

干杯加里

答案 1 :(得分:0)

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

例如,如果原始图片是320x65,并且高度减少到64,则aspectFit会将其缩放,同时保持相同的宽高比,为64/65 * 320 ~= 315