2016-10-11 8 views
0

Scroll Viewの中にあるLabelという非常に長いテキストを表示しようとしましたが、表示されません。テキストの高さが大きすぎるとラベルが表示されません

小さいフォントサイズのテキストを表示すると表示されます。

なぜこのようなことが起こり、修正するのですか?

多くの行がありますか?他のテキストの中には、200行以上が確実に表示されていて、正常に表示されているものもありますが、このテキストはそれよりも長くなっています。

print(text.characters.count)を使用すると、そのテキストは15884になります。

+0

私は少しあなたの質問で混乱しています。テキストのフォントサイズを小さくすることができないのですが、テキストを大きくするためにラベルを大きくするのはなぜですか? – Flickerlight

+0

そのフォントが小さすぎるため、テキストをほとんど読めることはありません。 'Label'は' Scroll View'の内部にあるので、高さは問題ではありません。 – user3051755

+0

yourText.sizeToFit()を試してみてください。動的なテキストの高さが必要です。このヘルプを希望します.... – Joe

答えて

2

の無限の数を表示できるようにする必要があります:iOS版で

2.xでは、UIViewオブジェクトの最大サイズは1024 x 1024ポイントです。 iOS 3.0以降では、ビューはもはやこの最大サイズに制限されていませんが、消費するメモリ量によって制限されます。ビューのサイズを可能な限り小さく保つことが、あなたの最大の関心事です。実行中のiOSのバージョンにかかわらず、画面のサイズよりもはるかに大きいコンテンツをタイルすることを検討する必要があります。

UILabelはUIViewのサブクラスなので、長さ15884のテキストは、フォントが大きいときにUILabelが処理するには長すぎるようです。

私はあなたが許容されるフォントサイズを見つけるためにいくつかの実験をすることができると思います。しかし、私はUITextViewをUILabelではなく長いテキストのために使用することをお勧めします。

0

あなたはUILabelのための文字列の長さがわからない場合、あなたはUILabelの大きさを計算するには、次のメソッドを使用することができます。

  • (CGRect)boundingRectWithSize:(CGSize)サイズオプション:(NSStringDrawingOptionsを) options属性:(null可能なNSDictionary *)属性コンテキスト:(null可能なNSStringDrawingContext *)コンテキストNS_AVAILABLE(10_11、7_0);
0

複数の行がある場合は、コードを介して、またはインタフェースビルダでプロパティnumberOfLines = 0を設定してみてください、これはApple Document Of UIViewからライン

+0

プロパティ 'numberOfLines = 0'を設定しました。他のテキストは正常に表示されていますが、私は他のテキストよりも長いこの問題だけがあります。 – user3051755

関連する問題