В чем разница между addSubview
и insertSubView
методами при программном добавлении представления?
Разница между addSubview и insertSubview в классе UIView
Ответы (4)
Единственное различие заключается в том, где добавляется представление: является ли оно самым передним представлением (addSubview:
), или оно находится перед 5-м подпредставлением (insertSubview:atIndex:
) или находится сразу за другим подпредставлением (insertSubview:aboveSubview:
).
person
mahboudz
schedule
05.10.2009
Используя insertSubView:
, вы можете указать индекс, который определяет z-порядок просмотров. Взгляд с более высоким индексом находится выше просмотров с более низким индексом.
person
Nikolai Ruhe
schedule
05.10.2009
Спасибо, я хотел узнать, есть ли особая разница в использовании этих двух функций?
- person Ashwani K; 05.10.2009
Помимо конкретной разницы, которую я описал в своем ответе, ее нет.
- person Nikolai Ruhe; 05.10.2009
Не думаю, что есть разница. addSubview:
просто удобный метод для
[view insertSubview:aView atIndex:[view.subviews count]]
person
sliver
schedule
05.10.2009
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];
}
person
user2369870
schedule
23.01.2016