2013-07-03 4 views
-1

이 코드 을 통해 버튼에서 UILabel 하위 뷰를 제거하려고하는데이 코드는 현재의 이미지도 버튼에서 모든 하위 뷰를 제거합니다. UILabel 만 단추에서 제거하도록 지정하는 방법을 모르겠다.제거 할 특정 하위 뷰를 어떻게 지정할 수 있습니까?

if (![[UIImage imageNamed:@"box1.png"] isEqual:button.currentImage]) { 
    [button.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 
} 
+0

삭제 하시겠습니까? box1.png가 포함 된 버튼 이미지? – Balu

+0

아니요, UIlabel에서 – Steve

+0

태그 값을 설정하고 그 레이블을 제거하기 위해 UIlabel을 제거하고 싶습니다. – Balu

답변

2

사례 1 : 레이블을 추가했습니다. 이 경우 태그 속성을 설정하고 검색하십시오. [button viewWithTag:yourLabelTag];

사례 2 : UIButton의 'titleLabel'을 제거하고 싶습니다 (이유는 생각할 수는 없지만). 당신은 어떤 태그, 라벨없이 포인터가없는 당신은 UILabel의 모든 인스턴스를 제거하려는 버튼에 추가 : 그냥 [button.titleLabel removeFromSuperview];

사례 3 할이 도움이

for(int i = 0 ; i < button.subviews.count ; i++) //you could use for(UIView *v in button.subviews) but you shouldn't change the array during this kind of enumeration. 
{ 
    UIView *v = [button.subviews objectAtIndex:i]; 
    if([v isMemberOfClass:[UILabel class]]) 
    { 
     [v removeFromSuperview]; 
     i--; 
    } 
} 

희망을.

건배!

0

가장 좋은 방법은 tag 값에 따라 뷰의 의견에 tag 값을 설정하고, 삭제된다.