What is the difference between addSubview
and insertSubView
methods when a view is added programmatically?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The only difference is in where the view is added: whether it is the frontmost view (addSubview:
), or it is before the 5th subview, (insertSubview:atIndex:
) or if it is immediately behind another subview (insertSubview:aboveSubview:
).
回答2:
Using insertSubView:
you can specify the index, which determines z-order of views. A view with a higher index lies above those with lower indices.
回答3:
I don't think there is a difference. addSubview:
is simple a convenient method for
[view insertSubview:aView atIndex:[view.subviews count]]
回答4:
1.addSubview add subview in array then add in View'slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.While insertSubview add your view as subview then call
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}