Iphone 自定义披露的UITableViewCell是否会导致对齐错误?

Iphone 自定义披露的UITableViewCell是否会导致对齐错误?,iphone,cocoa-touch,uitableview,Iphone,Cocoa Touch,Uitableview,我希望读到这篇文章的人能对这个问题有所帮助 我有一个包含自定义UITableViewCells的普通UITableView,每个单元格的高度由tableView:heightForRowAtIndexPath:提供,并且表格不会滚动。细胞本身实际上是一个或两个UIL标签的容器,没有什么特别的。其中三个单元格在编辑时显示自定义的公开信息,除此之外,没有公开信息用于其他任何内容。自定义披露是UIImageView分配给单元格editingAccessoryView的28x29图像,但是UIImage

我希望读到这篇文章的人能对这个问题有所帮助

我有一个包含自定义UITableViewCells的普通UITableView,每个单元格的高度由tableView:heightForRowAtIndexPath:提供,并且表格不会滚动。细胞本身实际上是一个或两个UIL标签的容器,没有什么特别的。其中三个单元格在编辑时显示自定义的公开信息,除此之外,没有公开信息用于其他任何内容。自定义披露是UIImageView分配给单元格editingAccessoryView的28x29图像,但是UIImageView大小设置为40x29,以便使用contentMode Left提供更好的位置

这应该可以很好地工作,但发生的情况是,当披露显示在编辑模式下时,它们并不共享相同的位置-两个可能是相同的x,第三个可能是5px不同。这似乎取决于每个细胞的高度,它们基本上是四处移动的。我看不出它们是如何联系在一起的,但我已经找到了一组高度,它们给出了所有三个处于相同位置的预期结果。这并不理想,但到目前为止一直运行良好-我别无选择,只能改变高度,因此对齐是一个大问题

如果我删除了自定义的披露,那么标准的披露会完美地工作吗

我试过很多东西,比如

  • 删除UIImageView上的额外宽度
  • 缩小图像的大小
  • 玩弄牢房的高度——披露的信息只是四处移动
  • 用其他控件替换UIImageView-无差异

如果您有什么想法,我很乐意在这里介绍,谢谢。

我猜是因为您使用的是UIImageView中的内容模式。使用内容模式中心


当高度改变时,视图会向各个方向拉伸,但图像仍保持在视图的左边缘…

我已经尝试过更改添加的附加宽度和内容模式,遗憾的是,这并不能解决问题。我的理解是editingAccessoryView将设置UIImageView的大小,而忽略您初始化它的内容。因此,更改图像视图的大小不会产生任何影响。另一种方法是使用您添加UIImageView的容器UIView,该容器的autoResizeSubviews设置为NO。如果图像仍在移动,您可以重置其在容器视图中的位置(子类和覆盖UITableViewCell layoutSubviews)您好,谢谢您的想法。宽度的改变是有效的,我可以把它改变成我想要的,我可以看到改变,如果我所有的单元格都在同一高度,我就没有问题了。当我改变一些单元格的高度时,问题就出现了。我后来意识到,当显示披露的所有单元格的高度都不相同,但其他单元格可以是任意高度时,就会出现这个问题。我已设法添加了其他“空白”单元格,以便根据需要设置表格格式。鉴于我在使用标准披露方面没有问题,我怀疑这是一个bug。