2

各セルがimageViewとラベルによって構築されるtableViewを構築しようとしています。ラベルの 1 つが複数の文である場合に問題が発生し、その結果、そのラベルが下のラベルに上書きされます。ラベルの高さを大きくすると、ラベルが希望する場所から始まりません。1 文のラベルは、ラベル間のギャップから始まります...

ここに画像の説明を入力 ここに画像の説明を入力

答え:

autoLayoutをキャンセルするようにしてください。私の状況では、私はそれを必要としません...

                titleLabel.text = @"Bla bla bla bla bla bla bla bla bla bla";
                [titleLabel sizeToFit];

                [abstractLabel setText:@"bla bla bla bla bla bla bla bla"];
                CGRect abstractFrame = titleLabel.frame;
                abstractFrame.origin.y = titleLabel.frame.origin.y + titleLabel.frame.size.height;
                abstractFrame.size.width = 180;
                [abstractLabel setFrame:abstractFrame];
                [abstractLabel sizeToFit];

* ate50eggs からアイデアを得ました - UILabel の下の位置を見つけて、2 つ目の UILabel を下に作成できるようにします

4

2 に答える 2

0

動的なラベル サイズとワードラップを作成できます。このように:

    currentLabel.lineBreakMode = UILineBreakModeWordWrap;
    currentLabel.numberOfLines = 0;
    NSString *string = @"blablablablabla";
    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
    CGSize constraintSize = CGSizeMake(kLabelWIdth, MAXFLOAT);
    CGSize labelSize = [string sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    [currentLabel setFrame:CGRectMake(currentLabel.frame.origin.x, currentLabel.frame.origin.y, labelSize.width, labelSize.height)];
于 2013-06-23T17:06:56.370 に答える
0

UITableViewCell のサブクラスを作成し、自分でラベルを揃えることができます。sizeWithFont:NSStringのメソッドを使用して、表示する文字列のサイズを計算できます。UILabel は垂直方向の配置をサポートしていません。

于 2013-06-23T15:54:50.843 に答える