質問

私はUITableViewCellを持っており、それがUITableViewCellStyleDefaultです。私はUITableViewCellよりも長いテキストを配置しようとすると、それを切り捨てます。どのように私は、細胞は、このテキストに対応するために拡張するのですか?

役に立ちましたか?

解決

あなたは何ができるのである... iphoneの画面よりも多くのセルの幅を広げることができません 1>フォントを小さくします 2>テキスト複数行

を作ります
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }

    CGRect contentRect = CGRectMake(80.0, 0.0, 240, 40);
    UILabel *textView = [[UILabel alloc] initWithFrame:contentRect];

    textView.text = mytext;
    textView.numberOfLines = 2;
    textView.textColor = [UIColor grayColor];
    textView.font = [UIFont systemFontOfSize:12];
        [cell.contentView addSubview:textView];
    [textView release];

他のヒント

私はあなたがやろうとしている正確に何をしようとしていないが、それはおそらくこのような何かを行くだろう。

あなたはその中のテキスト文字列の長さに応じて、ビューのサイズを変更する必要があります。

テーブルビューのデリゲート(あなたのビューコントローラ)を実装する必要があります。

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    Message *msg = (Message *)[messages objectAtIndex:indexPath.row];
    CGSize size = [[msg text] sizeWithFont:[UIFont fontWithName:@"Helvetica" size:kLabelFontSize]
                         constrainedToSize:CGSizeMake(220.0f, 480.0f)
                             lineBreakMode:UILineBreakModeTailTruncation];
    CGFloat minHeight = 20.0f;
    CGFloat height = size.height > minHeight ? size.height : minHeight;
    return height;
}
各列の作り方を背の高い表示を指示

あなたはまた、同様のUITableViewCellラベルのフレームのサイズを変更する必要がありますする必要があるとしている。

私は、すべてのセルが同じ高さと幅する必要があると思います。あなたはUITableViewCellsプロパティを使用してtableView's rowHeightの高さを変更することができます。

たとえば、もしあなたサブクラスUITableViewController

self.tableView.rowHeight = 100;

別のオプションは、先に示したように。

セルのサブビューとしてcontentViewカスタムUILabelを追加することです
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top