UIView 클래스에서 addSubview와 insertSubview의 차이점


답변:


103

유일한 차이점은 뷰가 추가되는 위치에 있습니다. 맨 앞 뷰인지 ( addSubview:), 5 번째 하위 뷰 이전 insertSubview:atIndex:인지 ( ) 또는 다른 하위 뷰 바로 뒤에 있는지 ( insertSubview:aboveSubview:).


46

를 사용하여 insertSubView:뷰의 z 순서를 결정하는 인덱스를 지정할 수 있습니다. 인덱스가 높은 뷰는 인덱스가 낮은 뷰 위에 있습니다.


덕분에, 나는이 두 가지 기능의 사용 거기에 특정의 차이가 원한
Ashwani K

1
내 대답에서 설명한 구체적인 차이점을 제외하고는 아무것도 없습니다.
Nikolai Ruhe

29

차이가 없다고 생각합니다. addSubview:간단하고 편리한 방법입니다

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

0

1. addSubview 배열에 하위 뷰를 추가 한 다음 뷰의 레이어에 추가

- (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];
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.