0

我需要detailTextLabel在我的UITableView.

所以我在我的CellForRowAtIndexPath

cell.detailTextLabel.numberOfLines = 3;
cell.detailTextLabel.textAlignment = NSTextAlignmentCenter;

在我设置之后,我的 cell.TextLabel.text 位置就像下面的图片一样发生。

在此处输入图像描述

我希望该cell.textLabel.文本位于中心,而不是顶部。

我怎样才能做到这一点?

4

2 回答 2

2

您可以更改标签的框架,使其与detailTextLabel's 相同,例如:

CGRect tempFrame = [[cell textLabel] frame];
tempFrame.size.height = [[cell detailTextLabel] frame].size.height;
[[cell textLabel] setFrame:tempFrame]; 

这应该使它们的高度相等并使您的字符串垂直居中。

于 2013-07-23T07:40:05.720 回答
1

TextLabel 当前的高度为 One Line。

子类化 UITableViewCell 并重置 TextLabel 的 Frame。

@implementation UINewTableViewCell
- (void) layoutSubviews {
     [super layoutSubviews];
     CGFloat aHeight = 100.0; // Set height according your requirement.
     self.textLabel.frame = CGRectMake(0, 0, 320, aHeight);
}
@end
于 2013-07-23T07:40:58.043 回答