0

UILabels複数の行にまたがるテキストが含まれていることに問題があります。マスクもあるフルスクリーンUIViewにネストされています。autoresizing

    view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;

ラベルに autoresizingMask を追加したい

    label.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;

しかし、問題は、これがうまくいかないことです。これを行うと、画面を回転させた後 (ビューのサイズが変更されます)、ラベルの高さが小さくなり、テキストの一部が切り取られます。(全文は表示されません)。を追加しないUIViewAutoresizingFlexibleHeightと、回転後のラベルのテキストの上と下に大きな隙間ができます (それは望ましくありません)。

も追加しようとしましUIViewAutoresizingFlexibleBottomMarginたが、まだテキスト全体が表示されていないため、これは役に立ちません。

編集: マスクの自動サイズ変更がこの問題を解決するとは本当に思いません->マスクの自動サイズ変更は、スーパービューのサイズの変更に応じてビューのサイズを変更します。そのため、高さがテキストに収まりません。私が考えることができる唯一の解決策はUILabel、スーパービューのサイズが変更された後にフレームをリセットすることです。もし間違っていたら、喜んで訂正します。

4

2 に答える 2

0
 self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
    self.label.numberOfLines = 10;
于 2013-10-03T09:55:01.183 に答える
0

ラベルに fitToSize (またはいずれかのバージョン) メソッドを使用することはできませんか? 行数を0に設定することを忘れないでください。

self.label.numberOfLines = 0;
[self.label fitToSize];

編集:[self.label sizeToFit]です。

于 2013-10-03T19:13:56.087 に答える