web-dev-qa-db-ja.com

UIViewクラスのaddSubviewとinsertSubviewの違い

ビューをプログラムで追加する場合のaddSubviewメソッドとinsertSubViewメソッドの違いは何ですか?

83
Ashwani K

唯一の違いは、ビューが追加される場所です。最前面のビュー(addSubview:)、または5番目のサブビューの前(insertSubview:atIndex:)または別のサブビューのすぐ後ろにある場合(insertSubview:aboveSubview:)。

101
mahboudz

insertSubView:を使用して、ビューのzオーダーを決定するインデックスを指定できます。インデックスの高いビューは、インデックスの低いビューの上にあります。

45
Nikolai Ruhe

違いはないと思います。 addSubview:はシンプルで便利な方法です

[view insertSubview:aView atIndex:[view.subviews count]]
29
sliver

1.addSubview配列にサブビューを追加してから、View'slayerに追加します

- (void)addSubview:(UIView *)subview
{
    [_subviews addObject:subview];
    [_layer addSublayer:subview.layer];
}

}

2. insertSubviewでビューをサブビューとして追加し、[_layer insertSublayer:subview.layer atIndex:index];を呼び出します

- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
  [self addSubview:subview];
  [_layer insertSublayer:subview.layer atIndex:index];
}
0
user2369870