web-dev-qa-db-ja.com

他のサブビューの下にサブビューを挿入するにはどうすればよいですか

全員。

Xibファイルにそれらを描画し、コードを使用して背景ビューを追加するラベルがいくつかありますが、背景ビューはこれらのラベルの前にあるため、表示できません。したがって、私の質問は、これらのラベルの下に背景ビューを追加する方法です。

前もって感謝します。

38
jxdwinter

Google UIViewを使用すると、ドキュメントが表示されます- IViewクラスリファレンス

次に、次の2つのようなニーズにほぼ合うと思われるものが見つかるまで、メソッドのリストを調べる必要があります。

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index

そして

- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview

この時点で、メソッドの動作の説明を読んで、設計に実装するのが最も簡単な方法を選択するだけです。質問する前に自分で答えを見つけようとすれば、自分の学習にとって本当に良いことです

63
Paul.s

メソッド insertSubview:atIndex:

[self.view insertSubview:backgroundView atIndex:0];
42
sch

このメソッドは、Swift 3で呼び出すことができます

view.insertSubview(yourSubView, at: 0)

または

view.sendSubview(toBack: yourSubView)
5
Kwaku Eshun

IBでは、ビューのサブビューはそのビューの下の階層にリストされます。その階層で兄弟の上に表示されるサブビューは、レンダリングビューでそれらの下に表示されます。そのため、以下の例では、in99:99 AMラベルが実行時にSign Inボタンの下に表示されます。

背景がUIImageViewのみの場合、ビューをNIBに追加し、実行時にUIImageを設定することを検討してください。そうすれば、混乱することはありません。また、 Paul.sが言ったこと

enter image description here

3
QED

Swift 3以降

view.insertSubview(theViewYouWantToAdd, at: 0)
1
Alfi

https://medium.com/Swift-programming/dynamic-layouts-in-Swift-b56cf8049b08

VerticalLayoutを親として使用します。それは非常にシンプルで効果的です

0