1

我目前正在制作一个应用程序,其中 suer 选择MKMapView注释,然后注释(pin)的标题detailtextLabel在 Right Detail中设置为 a UITableViewCell。我的问题是当文本很大时,detailTextLabel变成多行。当这种情况发生时TextLabel,单元格(左边的那个)向上移动。这是我试过的:

  • 在 cellForRowAtIndexPath 方法中,我尝试通过以下代码调整框架:
    CGRect frame = cell.textLabel.frame;

    frame.origin.y = cell.frame.size.height/2;

    cell.textLabel.frame = frame;

    单元格在哪里UITableViewCell设置为正确的细节

  • 子类化单元格并尝试调整框架中的-(void)layoutSubviews

如何阻止它上升并将其保持在单元格的中心?

4

2 回答 2

1

如果您想对 UITableViewCell 进行自定义布局,则需要将自定义 UI 元素添加到其中,-[UITableViewCell contentView]而不是尝试修改默认创建的标准 UI 元素的几何形状。

因此,在您的情况下,您需要添加两个UILabels 并设置它们的位置,以便:

  1. 标题标签根本不会移动
  2. 详细文本标签也将是多行的

这样你就可以解决这个问题了!

于 2014-01-12T18:10:36.643 回答
0

请尽量使字体大小可以调整到文本的大小。我认为你可以使用,

cell.detailTextLabel.adjustFontSizeToWidth = 是;并将 numberOfLines 设置为 0。

希望能解决目的。

于 2014-01-12T18:08:16.493 回答