2013-01-02 11 views
8

UILabelに大きな文字列を割り当てます。そして、このラベルをスクロールビューに追加します。
UILabelの高さが8192pt(2^13)を超えると、UILabelが消えます。UILabelビューは、高さが8192より大きい場合に消えます。

これはiOSのバグですか?

他の実装を使用してそのような文字列をレンダリングする必要がありますか?
セルでテーブルビューを使用する必要がありますか?

UPDATE

UILabelを表示しますコード:

UILabel *label = [[UILabel alloc] init]; 
label.backgroundColor = [UIColor clearColor]; 
label.text = rumor.displayText; 
label.frame = CGRectMake(0, 0, self.view.frame.size.width, 8192); 
label.lineBreakMode = UILineBreakModeWordWrap; 
label.numberOfLines = 0; 

そしてUILabelは、すべての

UILabel *label = [[UILabel alloc] init]; 
label.backgroundColor = [UIColor clearColor]; 
label.text = rumor.displayText; 
label.frame = CGRectMake(0, 0, self.view.frame.size.width, 8193); 
label.lineBreakMode = UILineBreakModeWordWrap; 
label.numberOfLines = 0; 
+0

まず、コードとスクリーンショットの一部を表示する必要があります –

+2

UIViewが2048ピクセルより大きくならないようにしています。 – dasdom

+1

right .. http://blog.tofodo.com/2009/03/iphone-sdk-doesnt-like-long-texts.html –

答えて

7

まず消えないコード - それはする必要はありません。バグ。それは未定義の振る舞いです。コンポーネントが正常に機能しなくなると、すべてのコンポーネントに上限があります。 8192ポイントは下限と思われますが、それでもポートレートモードではiPad画面の約8倍です。

あなたはそれほど大きくはないと思われます。 UIViewは頻繁にメモリにレンダリングされ、バッファリングされるため、再描画が高速になります。 8192の高さでは、バッファーは非常に大きくなければなりません。

UILabelに複数のテキストを分割することは間違いなく改善です。

https://stackoverflow.com/a/1494496/669586

0

を参照してください。私はUITextViewsでこの同じ問題に遭遇した、とかなり効果的な解決策を考え出しました。

あなたがそれを見たい場合は、ここに私の答えをチェックアウトするには!:

https://stackoverflow.com/a/37147533/2155673

それはUILabelsのために適合させることがかなり容易にする必要があります。

関連する問題