2011-07-28 49 views
0

當我從我的view.m文件([self removeFromSuperview];)調用removeFromSuperview時,它似乎工作正常。但是當我從視圖controller.m文件([self.view removeFromSuperview]調用該方法)它只會返回錯誤。我不知道這有什麼問題。removefromsuperview問題

回答

3

我猜你的看法是控制器視圖中的子視圖之一。調用[self.view removeFromSuperview]只會嘗試從父視圖中刪除控制器的視圖。這可能不是你想要做的。您需要找到您的視圖類型(或使用標籤)的self.view的子項,然後將其刪除。

沒有確切的代碼,這是你需要做的。

  1. 在將其添加到控制器視圖之前/之後,將要刪除的視圖的標記設置爲42(myview.tag = 42)。
  2. 當您準備通過控制器視圖的子視圖刪除視圖循環,並且如果子視圖的標記爲42,則在該視圖上執行removeFromSuperview。所以像這樣的東西

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