В чем разница между addSubview
и insertSubView
методами , когда вид добавляется программно?
Ответы:
Единственная разница заключается в том, где добавляется представление: является ли оно самым передним представлением ( addSubview:
), или оно находится перед 5-м подпредставлением, ( insertSubview:atIndex:
) или находится сразу за другим подпредставлением ( insertSubview:aboveSubview:
).
Используя insertSubView:
вы можете указать индекс, который определяет z-порядок просмотров. Взгляд с более высоким индексом находится выше просмотров с более низким индексом.
1. addSubview добавить subview в массив, затем добавить в View'slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2. Пока insertSubview добавляет ваше представление как subview, затем вызовите
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}