Разница между 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];
}