3

我在最新版本的 Xcode 中的 UITableViewCell 中有一个 UILabel。我用一些换行符动态地向它添加文本,它会自动调整,从而调整我的表格单元格高度。只要我将 UILabel 单独留在界面生成器中,一切正常。如果我尝试将其仅向左或向右移动 1 个像素,则内容将被剪裁为单行文本,并且该行中的所有其他行均不可见。这实际上很荒谬。我已经尝试了标签的所有设置,但如果我移动它,它会剪切除第一行之外的所有内容。有没有人有任何其他尝试的想法?我知道这听起来很荒谬。

- (CGFloat)heightForRowInInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation     {
    CGFloat width = (interfaceOrientation == UIInterfaceOrientationPortrait ||         interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) ?    kDescriptionLabelWidthPortrait : kDescriptionLabelWidthLandscape;
    CGFloat height = [[self descriptionString] sizeWithFont:_descriptionLabelFont constrainedToSize:CGSizeMake(width, MAXFLOAT)].height + kDescriptionLabelPadding;
 return MIN(MAX(height, kMinCellHeight), kMaxCellHeight); 

}

#define kDescriptionLabelWidthPortrait 429.0f
#define kDescriptionLabelWidthLandscape 685.0f
#define kDescriptionLabelPadding 50.0f
#define kDescriptionLabelFontName @"Helvetica"
#define kDescriptionLabelFontSize 14.0f
#define kMinCellHeight 44.0f
#define kMaxCellHeight 2009.0f
4

4 回答 4

1

这将对您有所帮助,这是来自CustomCell.m

- (void) updateWithComment:(Comment *) comment
{
    self.aComment = comment;

    [self.userBtn setTitle:[NSString stringWithFormat:@"%@ %@",comment.user.firstName,comment.user.lastName] forState:UIControlStateNormal];

    CGSize size =  [aComment.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:14.0] constrainedToSize:CGSizeMake(210, 999)];

    [self.textLbl setFrame:CGRectMake(textLbl.frame.origin.x, textLbl.frame.origin.y, 225, size.height)];

    [self.textLbl setText:aComment.text];
}

在此处输入图像描述

于 2012-12-24T04:26:54.533 回答
1

尝试将标签的行数设置为 0。0 允许标签所需的行数。

于 2012-12-17T17:19:36.350 回答
1

我不确定,但请尝试在身份和类型部分取消选中为您的 xib 文件使用 autoLayout。

于 2012-12-14T13:29:51.420 回答
0

尝试重新启动 XCode 和 Mac,创建另一个 UILabel,并更改其框架。

于 2012-12-19T03:18:25.740 回答