2010-11-10 74 views
0

我希望有人阅读这个可能能够解决这个问题。我有一个普通的UITableView包含自定义UITableViewCells,每个单元格是由tableView:heightForRowAtIndexPath提供不同的高度:并且表不滚动。单元本身实际上是一个或两个UILabel的容器,没有什么特别的。除了没有披露用于其他任何内容之外,其中三个单元格显示了定制披露。自定义的披露的UIImageView的分配到细胞editingAccessoryView与28x29图像然而UIImageView的大小设置为40x29给使用contentMode左一个更好的位置。具有自定义披露的UITableViewCell会导致错误对齐?

这应该工作正常,但发生的事情是,当披露出现在编辑模式下,他们并不都有着相同的位置 - 两个可能是相同的x和第三可能是5px的不同。这似乎取决于给予每个细胞的高度,他们基本上四处移动。我看不出他们是如何联系在一起的,但他们发现了一组高度可以使三人的预期结果处于相同的位置。这不是理想的,但一直工作到现在为止 - 我别无选择,只能改变高度,所以对齐是一个大问题。

如果我删除自定义披露那么标准的披露工作完美?

我试过的东西很多的,即

  • 消除在UIImageView的
  • 额外的宽度缩小图像
  • 与细胞高度玩耍的大小 - 公开的内容只是走动
  • 与其他控件取代的UIImageView的 - 没有区别

如果您有任何意见为什么这可能是我喜欢在这里他们,谢谢。

+0

因为我已经意识到,当所有显示公开的细胞不会出现此问题有相同的高度,但其他细胞可以是任何高度。我已经成功添加了其他“空白”单元格来根据需要格式化表格。鉴于我在使用标准披露方面没有问题,我怀疑这是一个错误。 – 2010-11-11 17:15:41

回答

0

我的猜测是它的,因为你正在使用留在UIImageView的内容模式。使用内容模式中心。

的意见得到拉伸时高度的变化四面八方,但图像停留在视图的左边缘...

+0

我已经尝试改变我添加的额外宽度和contentMode,可悲的是这并不能解决问题。 – 2010-11-10 20:39:53

+0

我的理解是,editingAccessoryView将设置你的UIImageView的大小 - 无视你有什么它初始化为。所以,改变图像视图的大小将没有什么区别。另一种方法是使用将UIImageView添加到的容器UIView,其中autoResizeSubviews设置为NO。如果图片仍然四处移动,你可以重置其容器视图中的位置(子类,并重写的UITableViewCell layoutSubviews) – 2010-11-11 08:51:41

+0

尼克你好,感谢您的想法。宽度改变的作用,我可以改变它到我想要的,我可以看到改变,如果我有所有的细胞在同一高度,我没有问题。这是当我改变问题出现的一些单元格的高度时。 – 2010-11-11 17:13:43

相关问题