Разница между addSubview и insertSubview в классе UIView
В чем разница между методами addSubview и insertSubView при добавлении представления программно?
Спасибо
Эшвани
Ответы
Ответ 1
Единственное различие заключается в том, где добавляется представление: является ли это самым передним видом (addSubview:
), или оно находится перед 5-м подзоном (insertSubview:atIndex:
), или если оно сразу находится за другим подвью (insertSubview:aboveSubview:
).
Ответ 2
Используя insertSubView:
, вы можете указать индекс, который определяет z-порядок представлений. Вид с более высоким индексом находится выше тех, у кого более низкие индексы.
Ответ 3
Я не думаю, что есть разница. addSubview:
является простым удобным методом для
[view insertSubview:aView atIndex:[view.subviews count]]
Ответ 4
1.addSubview добавить subview в массив, а затем добавить в 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];
}