2012-04-06 92 views
0

我正在編寫一個應用程序,主視圖控制器是UIViewController。它在網格中有一些圖標,我想在點擊其中一個圖標時解除(滑下)這個網格。我已經完成了。問題是:當網格被取消時,我希望另一個視圖來自屏幕的頂部。該視圖位於同一個根視圖控制器中。但是我想在這個視圖中顯示其他視圖控制器的內容。例如:我希望此視圖在其中顯示UINavigationController,其中包含UITableView,因此用戶可以瀏覽TableViews。在另一個ViewController視圖中顯示整個ViewController

我這樣做:

HorariosViewController *horarios = [[HorariosViewController alloc] init]; 
[vuashView addSubview:horarios.view]; 

HorariosViewControllerUINavigationViewController。它顯示我只有一個藍色的導航欄,並像self.navigationItem.title = @"Title"變化將無法正常工作。

謝謝!

回答

0

您可以將其他視圖控制器的視圖顯示爲子視圖,但它們的插口和操作仍與其原始視圖控制器相關聯,除非您編寫代碼以創建新連接,所以self.whatever不應期望影響其他視圖控制器的屬性。

(此外,如果HorariosViewController是一個UINavigationController,它不應該被作爲一個UIViewController創建。)

0

一種方法是具有導航控制器已經存在,所呈現模態在其頂部上的圖標網格。 (你可以在沒有動畫的情況下以這種方式設置視圖,所以用戶在下面看不到導航控制器)。

然後,當網格消失的時候,它可以通過動畫調用dismissModalViewController本身。

+0

這是一個很好的解決方案,但我希望有點不同:當網格被解散時,它不會像視頻應用一樣從視圖中完全消失,而是垂直消失。 – 2012-04-06 17:24:30

+0

好的。那個圖標網格是做什麼的?如果它足夠簡單,您可以將它作爲導航控制器子視圖的視圖(而不是視圖控制器)。您可以編寫自己的簡單動畫,將其滑入(部分)滑入。擁有屏幕位的兩個視圖控制器不是非法的,但並不推薦。讓我知道這是否合理,我會在我的答案中添加一點插圖代碼。 – danh 2012-04-06 17:30:22

+0

我的動畫工作正常,它沿着網格滑動,但仍保持可見,所以用戶可以返回到菜單。圖標網格是一個UIImageView。我的問題是當點擊某個圖標時顯示其他視圖控制器的內容。我想到了另一種解決方案:執行動畫,在動畫結束時,用所需的視圖控制器呈現一個模式(無動畫)視圖控制器,並設計爲看起來仍然處於相同視圖中,方法是添加窗口底部的網格頂部。但我仍然無法在視圖控制器中看到數據 – 2012-04-06 17:45:28

相關問題