0

Xcode インターフェイス ビルダーでカスタムの TableViewCell を作成し、UILabel と UITextView を垂直に積み重ねて、それらとコンテナー セル ビューの間に垂直方向の間隔の制約を設定しました。

ここに画像の説明を入力

UITextView は多くのテキストを保持する必要があるかもしれません。垂直スクロールバーを表示したくないので、[NSString sizeWithFont:constraintTosize:] で UITextView の高さを計算し、この新しい高さでフレームを設定します。

しかし、うまくいきません。

次に、.xib のカスタム セルの行の高さが固定されていることに気付きました。この固定された高さと垂直方向の制約が UITextView の高さを決定するかどうか疑問に思っていますが、それを変更することはできませんか?

逆の場合: UITextView の高さを設定すると、含まれているセルの高さが制約に基づいて計算されますか? これは可能ですか?

4

1 に答える 1

1

次のコードが役立つはずです。私はあなたが説明していることを実行し、 というカスタム内の の可変量のテキストを説明することができましUILabelた。定型コードを変更せずに使用します。UITableViewCellCustomCellCustomCellUITableViewCell

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...
    // Using some sample text in here for testing purposes.
    NSString *sampleText = @"The UITextView may need to hold a lot of text, I don't want vertical scrollbar to appear. The UITextView may need to hold a lot of text, I don't want vertical scrollbar to appear.";

    cell.textLabel.text = sampleText;
    [cell.textLabel layoutIfNeeded];

    return cell.textLabel.frame.size.height;
}

最後になりましたが、AutoLayout を使用してUILabel内部をセットアップします。CustomCellこのリンクに従って、その方法の手順を確認してください: https://stackoverflow.com/a/16009707/885189

于 2013-12-31T00:12:29.290 に答える