2012-04-13 14 views
3

私はUITextViewのカスタムセルを持っています。私がこのUITextViewにロードしているテキストの長さは、非常に短いものから非常に長いものに変わります。だから、 "の代わりにラベルを使用してください"と言ってください。テキストを長すぎると、セルを同じ高さに保ちますが、UITextViewの垂直スクロールを使用したいと思います。UITextViewでテキストを縦に揃える方法は?

私はメソッドhereを試しましたが、私のcellForRowAtIndexPathイベントで初期化しているカスタムセルを使用しているので、オブザーバは動作しませんでした。私はinitWithStyle関数の下で自分の細胞クラスで同じメソッドを試してみましたが、どちらも動作しませんでした。

他に何をお勧めしますか?または、私はこの機能を別の方法で動作させるべきですか?どんな助けもありがとうございます。

ありがとうございます。

+0

を揃えるために表示するように作られました。 http://imagineric.ericd.net/2011/03/10/ios-vertical-aligning-text-in-a-uitextview/ – rishi

+0

@RIP、第2段落をもう一度読んでください。すでに同じリンクを共有しています私の質問と私はそれを動作させることができなかった理由を宣言した... – kubilay

答えて

1

-

-(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; 

} 
+0

私は空の細胞を手に入れようとしています。このコードについてどう思いますか? http://pastebin.com/7yKZr2T9 – kubilay

+0

あなたはtextViewの大きさを教えていません。サイズは0x0です。あなたはUITextView * myTextView = [[[UITextView alloc] initWithFrame:whateverFrame] autorelease]を実行する必要があります。また、あなたのcontentOffsetは間違った方法で動作しています。おそらくx成分を0に設定したいのですが、yをtextViewの高さに設定すると、textViewの高さだけ下にオフセットされるので、とにかくそれを見ないでしょう!負の値は、textViewの上端が原点の上にあることを意味します。 – SomaMan

+0

あなたの言ったとおりではありませんが、大部分はそうでした。どうもありがとう。 – kubilay

2

使用この -

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

...その後contentOffsetを把握し、あなたがテーブルにUITextViewを追加するように設定します。あなたのテーブルビューデータソース内

+0

ありがとうが、私はそれを得たかどうかはわからない。私は動的にtextviewを追加する必要がありますか?これのサンプルコードはありますか? – kubilay

1

Here's a gist私はあなたはそれが私の作品は、以下の記事を参照することができますどのように垂直方向にUITextView

関連する問題