Різниця між addSubview та insertSubview у класі UIView


Відповіді:


103

Єдина відмінність полягає в тому, куди додано подання: чи це передній вигляд ( addSubview:), чи перед 5-м підпрограмою, ( insertSubview:atIndex:), чи він знаходиться безпосередньо за іншим підпроектом ( insertSubview:aboveSubview:).


46

За допомогою insertSubView:ви можете вказати індекс, який визначає z-порядок переглядів. Погляд з вищим індексом перевищує показники з нижчими індексами.


Дякую, я хотів, чи є конкретна різниця у застосуванні цих двох функцій
Ashwani K

1
Окрім конкретної різниці, яку я описав у своїй відповіді, такої немає.
Микола Руе

29

Думаю, різниці немає. addSubview:простий, зручний метод для

[view insertSubview:aView atIndex:[view.subviews count]]

0

1.addSubview додати підзапис у масив, а потім додати у 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];
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.