아이폰 프로그램을 사용하면서 가장 자주 쓰게 되는 view에서 subview를 지우는 방법을 간단하게 정리해 봅니다.
먼저 샘플로 라벨을 올려 봅니다.
하위에 있는 뷰 모두 지우기 1
하위에 있는 뷰 모두 지우기 2
지정한 태그의 subview 지우기
지정 태그 이외의 subview 지우기
특정 클래스의 subview 지우기
먼저 샘플로 라벨을 올려 봅니다.
// UILabel 생성하기
UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 15, 40, 20)];
// label에 태그 넣기
aLabel.tag = 1;
// 글자쓰기
aLabel.text = @"Hello World";
// 라벨을 뷰에 올리기
[self.view addSubview:aLabel];
하위에 있는 뷰 모두 지우기 1
// With some valid UIView *view:
for(UIView *subview in [self.view subviews])
{
[subview removeFromSuperview];
}
하위에 있는 뷰 모두 지우기 2
while ([self.view.subviews count] > 0)
{
[[[self.view subviews] objectAtIndex:0] removeFromSuperview];
}
지정한 태그의 subview 지우기
[[self.view viewWithTag:1] removeFromSuperview];
지정 태그 이외의 subview 지우기
for (UIView *subview in [self.view subviews])
{
if (subview.tag != 1) {
[subview removeFromSuperview];
}
}
특정 클래스의 subview 지우기
for(UIView *subview in [self.view subviews])
{
if([subview isKindOfClass:[UILabel class]])
{
[subview removeFromSuperview];
}
}
댓글