2017-07-12 12 views
0

私はQRコードの表示がない場合は、左側に表示する「番号」&「状態」を望んでいたQRコードのない再位置uilabel

結果(制約は画像&ラベルに設定されているが。):
enter image description here 。 QRコードで

結果は以下のようになります。
enter image description here

+0

なぜ利用できないのですか? –

+0

[ビューが隠されているときに自動レイアウトを使用して他のビューを移動する方法](https:// stackoverflow。com/questions/18065938/how-to-use-auto-layout-to-move-other-view-when-a-view-is-hidden) –

答えて

3

それはあなたがそのようにラベルの制約を作ることができるQRコードがwidht一定にするよりも、利用できない場合にだけ、QRコードの画像の幅の制約を作る= 0、

enter image description here

@IBOutlet weak var width: NSLayoutConstraint! 
    if (your condition) 
    { 
     width.constant = 0 
    } 
    else 
    { 
     width.constant = 30 
    } 
+0

@Eridanaが動作していない場合はお知らせください –

2

あなたは、ビューの左側側面に取り付けられた制約の第二のペアでそれを行うことができます。

QRコードビューが存在しない場合は、その制約にコンセントを追加し、定数から目的のオフセット(コード)を設定します。

もう1つの方法は、左側にMoreThanOrEquel制約を追加することです(例:= 10)。 定数値10の別の制約より優先度は低くなります。

QRコードビューを削除すると、制約が破棄され、左側の制約が影響を受け、ラベルを左に移動します。

1

非常に簡単です:

e左辺+画像幅につながる画像の制約を作成すると、両方のラベルも左辺につながります。次にQRコードがない場合は、必要な値に制約をもたらすラベルを調整します。

それとも、イメージビューにつながる両方のラベルを作成し、0

pic

1

に画像表示幅の制約を設定することができ、この問題は、単に表示/非表示を作るUIStackViewを使用して達成することができ、非常に簡単です。

例:QRコードがある場合は、QRコードを表示するか、非表示にします。 ラベル(番号とステータスと画像)が自動的に調整されます。以下は、理解を深めるための画面の略です。

enter image description here

IBOutlet UIView *qr_view; // Image or View 

ケース1:QR現状

qr_view.hidden = NO;// Show 

enter image description here

ケース2:存在しませんQR

qr_view.hidden = YES;// hide 

enter image description here

関連する問題