2013-01-09 55 views
0

我在清除我的視圖時遇到問題,對於特定的情況,我一直添加用戶名作爲標籤到我的視圖中,我可能有多個用戶根據情況,現在我的問題是,對於一種情況我想清除視圖沒有彈出它,我不知道如何刪除那些添加的標籤,我有一個想法,我可以爲每個標籤設置標籤,我可以稍後再清除它。在這種特殊情況下,還有其他有效的方法。如何管理在UIView中添加的子視圖?

希望我的問題明確表示感謝。

+0

謝謝你們。我還有一個疑問,如果我正在清理整個視圖,那麼下面的答案會正常工作,如果我想保留一些與用戶名無關的常見標籤,那我該怎麼辦? – Newbee

回答

2

使用

for (UIView* view in self.view.subviews) { 
    if(view isKindOfClass:[UILabel class]) { 
     //do whatever you want to do 
    } 
} 
0

您可以刪除所有子視圖是這樣的:

for (UIView *subView in [view subviews]) 
    [subView removeFromSuperview]; 

或者,如果要訪問具有n個的標籤值的特定視圖,

UIView *subview = [view viewWithTag:n] 
0

你可以通過以下方式做

for (UIView *view in [self.view subviews]) 
{ 
    if ([view isKindOfClass:[UILabel class]]) 
    { 
     [view removeFromSuperview]; 
    } 
} 

希望你問這個。

0
[labelName removeFromSuperview]; 
0

使用本:

for(id viewSub in self.view.subviews) 
    { 
     [viewSub removeFromSuperview]; 
    } 

這將移除View

0

的所有子視圖試試這個:以下方法

for (UIView *v in [self.relatedView subviews]) 
{ 
    [v removeFromSuperview]; 
} 
0

呼叫,並通過了 「UIWebView的」 對象作爲參數:

+(void)removeAllSubViews:(id)pObj 
{ 
    NSArray *Array = [pObj subviews]; 
    for(int index = 0; index < [Array count]; index++) 
    { 
     [[Array objectAtIndex:index] removeFromSuperview]; 
    } 
} 

您還可以檢查對象這樣的,如果你想對任何特定的對象:

if(view isKindOfClass:[UILabel class]) { 
    //do whatever you want to do 
} 

乾杯!

相關問題