3

カスタムセルがUITextViewあります。これにロードするテキストの長さはUITextView、非常に短いものから非常に長いものに変わります。したがって、 「代わりにラベルを使用するとは言わないでください。セルを同じ高さに保ちたいのですが、テキストが長すぎる場合は垂直スクロールを使用します。 UITextView

ここでこの方法を試しましたが、イベントでカスタムセルの初期化を使用しているためcellForRowAtIndexPath、オブザーバーが機能しませんでした。関数の下のセルクラスで同じメソッドを試しましたが、initWithStyleどちらも機能しませんでした。

他に何を提案しますか?または、この関数を別の方法で操作する必要がありますか?どんな助けでも大歓迎です。

前もって感謝します。

4

3 に答える 3

2

これを使って -

CGSize textSize = [myText sizeWithFont:whateverFont constrainedToSize:myTextViewBox.frame.size lineBreakMode:UILineBreakModeWordWrap];

...次に、contentOffsetを把握し、UITextViewをテーブルに追加するときに設定します。

于 2012-04-13T10:27:33.343 に答える
1

TableViewデータソース内-

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSUInteger row = [indexPath row];

    static NSString *CellIdentifier = @"myCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    } else { // if there is already a subview, remove it
        while ([[cell.contentView subviews] count] > 0) {
            UIView *labelToClear = [[cell.contentView subviews] objectAtIndex:0];
            [labelToClear removeFromSuperview];
        }
    }


    UITextView *myTextView = // initialise your textView here, including setting its contentOffset

    [cell.contentView addSubview:myTextView];

    return cell;

}
于 2012-04-13T10:35:31.050 に答える
1

UITextViewを垂直に配置する方法を示すために私が作成した要点は次のとおりです

于 2014-01-09T06:53:38.923 に答える