1

を非表示にする 2 つの方法を知っていUILabelます。alpha を 0 に設定するか、labels プロパティ 'hidden' を YES に設定できます。あれは

// UILabel *label = ...
label.alpha = 0.0f;

// or
label.hidden = YES;

ただし、どちらの場合も、ラベルにはスペース (幅と高さ) が必要です。

ラベルを非表示にして、縦/横のスペースを取らないようにすることはできますか? 考えられる方法の 1 つは、幅/高さを 0 に設定することです。しかし、もっと良い方法があるかもしれません。

4

3 に答える 3

7

これを処理する最も簡単な方法は、Stack Viewsを使用することです。ラベルをスタック ビューに埋め込むと、スタック ビューは内部的に間隔を調整します。配置、間隔などの追加のプロパティは、必要に応じて微調整できます。ビューがスタック ビューに追加されると、その制約がクリアされた場合はすべて、スタック ビューと隣接する要素の間の制約を再確立するようにしてください。

于 2016-05-22T02:21:19.323 に答える
6

この問題が発生したばかりで、テキストを空の文字列に設定してスペースを占有しないようにする必要があることがわかりました。(iOS9)

 label.text = @"";
 label.hidden = YES;

iOSには非常に多くのバグがあります。

于 2015-12-08T07:45:52.053 に答える
1

フレームの高さの値を 0 に設定して、ラベルを非表示にすることができます。[自動レイアウトを使用していますか? 適切に設定すれば、これで十分かもしれません]

自動レイアウトを使用しない場合、コンテンツを下に移動するには、下のコンテンツのフレームをプログラムで新しいフレームに設定する必要があります [すべてのコンポーネントy valueを に変更yvalue-label.height]

于 2013-06-12T14:38:43.143 に答える