ビューをプログラムで追加する場合のaddSubview
メソッドとinsertSubView
メソッドの違いは何ですか?
唯一の違いは、ビューが追加される場所です。最前面のビュー(addSubview:
)、または5番目のサブビューの前(insertSubview:atIndex:
)または別のサブビューのすぐ後ろにある場合(insertSubview:aboveSubview:
)。
insertSubView:
を使用して、ビューのzオーダーを決定するインデックスを指定できます。インデックスの高いビューは、インデックスの低いビューの上にあります。
違いはないと思います。 addSubview:
はシンプルで便利な方法です
[view insertSubview:aView atIndex:[view.subviews count]]
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];
}