2011-01-31 46 views
0

我有一個iPad應用程序,基於用戶在視圖中觸摸的位置在運行時添加按鈕。如何通過所有控件進行操作並對某些操作進行操作?

現在 - 我需要一次刪除所有這些按鈕。

我已經設置每個按鈕的標記是非常高的,並按照被刪除的按鈕的類型分組。

如何循環查看視圖上的所有按鈕,並將其刪除,如果它們屬於正確的分類?

+0

您應該考慮選擇未回答的問題的答案。 – Moshe 2011-01-31 17:53:52

回答

6

這將刪除所有UIButton。採用它來滿足你的需求。如果你想使用標籤,我會建議標記每個應該保留在視圖中的按鈕。

for (id object in [self.view subviews]) { 
    if ([object isKindOfClass:[UIButton class]]) { 
     [object removeFromSuperview]; 
    } 
} 

或者可以在每次的UIButton添加到的NSMutableSet當您創建,以及刪除該組的每一個按鈕,如果你不需要他們了。

+0

yup,並且我添加了一下標籤....每個自定義按鈕都有一個唯一的標籤ID,當我通過控件循環時,如果找到了唯一ID,則它會被沖走。謝謝 – pithhelmet 2011-02-08 18:18:18

0

唯一基於標記的方法是UIView#viewForTag,它返回一個單獨的對象。 (我相信這是你使用該標籤添加的最後一個視圖)。但是,您可以將上述代碼適用於您的目的:

for (UIView *iView in [self.view subviews]) { 
    if (iView.tag == TARGET_CLASSIFICATION_TYPE) { 
     [iView removeFromSuperview]; 
    } 
}