3

最新バージョンのXcodeのUITableViewCell内にUILabelがあります。いくつかの改行を使用してテキストを動的に追加すると、自動的に調整され、テーブルのセルの高さが調整されます。Interface BuilderでUILabelをそのままにしておく限り、すべて正常に機能します。左または右に1ピクセルだけ移動しようとすると、コンテンツが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 に答える
0

XCode と Mac を再起動し、別の UILabel を作成して、そのフレームを変更してみてください。

于 2012-12-19T03:18:25.740 に答える