簡體   English   中英

如何從iOS 7中的視圖中刪除所有按鈕?

[英]How to remove all buttons from a view in iOS 7?

如何使用iOS 7從視圖中刪除所有按鈕?

這里的代碼適用於早期版本的iOS:

                for(UIView *view in cell.subviews){
                    if([view isMemberOfClass:[UIButton class]]){
                        [(UIButton *)view removeFromSuperview];
                    }
                }

首先,您需要從視圖中獲取所有子視圖,然后檢查所有視圖是否為UIButton的類型。有關詳細信息,請參閱此...

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

看起來你只是沒有在子視圖中循環。 假設這是一個視圖控制器:

NSArray * allSubviews = [self.view subviews];
for(UIView view in allSubviews)
{
    if([view isMemberOfClass:[UIButton class]])
    {                                     
        [view removeFromSuperview];                                 
    }
}

你也不需要在這里將“ view ”轉換為“ UIButton * ”,因為“ UIView ”的基類實現了“ removeFromSuperview ”。

抱歉回復晚了。 實際上這部分代碼將一直運行到iOS 6.0,但在iOS 7.0及更高版本中,代碼無效。

最后我找到了解決方案,使用以下語句從UIScrollview刪除所有子視圖。

[scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)].

試試,這會奏效

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM