2010-08-05 88 views
0

我顯示一個模式視圖控制器,並從那裏使用按鈕添加子視圖。我需要添加其他視圖控制器作爲子視圖,然後刪除它後面的一個。那麼我可以通過索引來引用視圖嗎?我可以通過索引引用子視圖嗎?

實例: 用戶將看到第1頁(根視圖控制器) 用戶按下按鈕,這增加了一個子視圖中,第2頁。 用戶按下另一按鈕增加了一個子視圖中,第3頁 現在我需要刪除頁面2以免消耗內存並讓事情回到那裏。

這不像按名稱移除它那麼簡單,因爲我的根視圖控制器具有下一個/後退按鈕和按鈕以指定視圖。我總是可以插入正確的「下一個」子視圖,但要刪除的子視圖可以是其中的任何一個。用戶可以在頁面2,3,4等,並跳轉到第5頁。在第5頁的按鈕動作中,我當然可以將第5頁視圖控制器添加爲子視圖,但是如何告訴它刪除最後一個子視圖什麼時候可以是他們中的任何一個?

回答

1

我認爲這可能與正確使用但UINavigationController;來解決,你總是可以使用[rootViewController.subviews objectAtIndex:subViewIndex];

0

您可以使用

[[parentView subviews] objectAtIndex:n]; 

但買家當心,這是危險的,使約在事情出現的數組中的假設。如果你不能想到一個更好的方法來實現你的目標,你至少需要做一些類型檢查(isKindOfClass)來確保那個索引實際上是你想要執行的操作。

0

根查看= A; Second View = B; 第三視圖= C;

要導航A - > B - > C - (back)>正確嗎?

當您從B到C時,只需將根視圖控制器彈出到A然後按下C即可,B現在不在混音中。

如果您使用的是UINavigationController,這隻會起作用,但您可以對您的問題使用相同的想法。

- 情態: -

// Viewing B, going to go to C: 
[self dismissModalViewControllerAnimated:NO]; // B is gone. 
[self presentModalViewController:C animated:YES]; // C animates up 
相關問題