我在清除我的視圖時遇到問題,對於特定的情況,我一直添加用戶名作爲標籤到我的視圖中,我可能有多個用戶根據情況,現在我的問題是,對於一種情況我想清除視圖沒有彈出它,我不知道如何刪除那些添加的標籤,我有一個想法,我可以爲每個標籤設置標籤,我可以稍後再清除它。在這種特殊情況下,還有其他有效的方法。如何管理在UIView中添加的子視圖?
希望我的問題明確表示感謝。
我在清除我的視圖時遇到問題,對於特定的情況,我一直添加用戶名作爲標籤到我的視圖中,我可能有多個用戶根據情況,現在我的問題是,對於一種情況我想清除視圖沒有彈出它,我不知道如何刪除那些添加的標籤,我有一個想法,我可以爲每個標籤設置標籤,我可以稍後再清除它。在這種特殊情況下,還有其他有效的方法。如何管理在UIView中添加的子視圖?
希望我的問題明確表示感謝。
使用
for (UIView* view in self.view.subviews) {
if(view isKindOfClass:[UILabel class]) {
//do whatever you want to do
}
}
您可以刪除所有子視圖是這樣的:
for (UIView *subView in [view subviews])
[subView removeFromSuperview];
或者,如果要訪問具有n個的標籤值的特定視圖,
UIView *subview = [view viewWithTag:n]
你可以通過以下方式做
for (UIView *view in [self.view subviews])
{
if ([view isKindOfClass:[UILabel class]])
{
[view removeFromSuperview];
}
}
希望你問這個。
[labelName removeFromSuperview];
使用本:
for(id viewSub in self.view.subviews)
{
[viewSub removeFromSuperview];
}
這將移除View
的所有子視圖試試這個:以下方法
for (UIView *v in [self.relatedView subviews])
{
[v removeFromSuperview];
}
呼叫,並通過了 「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
}
乾杯!
謝謝你們。我還有一個疑問,如果我正在清理整個視圖,那麼下面的答案會正常工作,如果我想保留一些與用戶名無關的常見標籤,那我該怎麼辦? – Newbee