2017-06-18 1 views
0

私は、データがロードされた後に表示される視野の上にいくつかのプログレスバーとラベルを使用してアプリケーションがデータをロードしていることを表示します。このビューは初期ではないので、LaunchScreenをこれらの目的に使用することはできません。そうする最善の方法は何ですか?AutoLayoutの影響を受けずに途切れることのない半透明の背景を持つサブビューを追加するにはどうすればよいですか?

AutoLayoutを使用した後に表示されるビューには、AutoLayoutも同様に使用されるのが良いでしょうが、これらのAutoLayoutsは相互作用しないようにしてください。

答えて

0

まず、カスタムUIViewクラスを作成し、必要に応じてビューをカスタマイズします。透明な背景、コードの助けを借りて/ autolayoutを使用して画像/ラベル等を追加する。

このカスタムビュー(yourSubView)をcontainerviewに追加し、制約を追加して正しい位置に配置します。

次のコードは、すべての側(左、右、上、下)に80pxのスペースを残した後にサブビューを追加します。要件に応じて制約を追加できます。

[yourContainerView addSubview:yourSubView]; 
    yourSubView.translatesAutoresizingMaskIntoConstraints = 
    NO; 

    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:80.0]]; 
    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeRight multiplier:1.0 constant:80.0]]; 
    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeTop multiplier:1.0 constant:80.0]]; 
    [yourContainerView addConstraint:[NSLayoutConstraint constraintWithItem:yourSubView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:yourContainerView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:80.0]]; 
関連する問題