2011-03-01 166 views
0

我有一個TabBar有4個項目。所有4個項目都會響應個別的UIViewControllers。例如有一個項目,它向用戶顯示一個屏幕以獲取照片並將其上傳到網站。現在,這個的UIViewController(postAppViewController)獲取從像下面所述的AppDelegate稱爲:iOS應用程序設計問題和相關的UIImagePickerController問題

[tabItemsViewControllers addObject: [[ PostPageViewController alloc] initWithPost]]; 

其中initWithPost限定在上述的TabBar。

現在postAppViewController從loadView調用一個單獨的UIView(postAppView)。然後postAppView調用一個UINavigationController和一個UITableViewController(postTableViewController)。

這是不錯的設計?我想不會,因爲我遇到了以下幾點:

postTableViewController顯示其在隨後通過調用下面呈現給用戶的UIImagePickerController(推送)點擊踢當按鈕:

[self presentModalViewController:picker animated:YES]; 

我我看到的是tabbar存在,並通過相機/圖像庫presentModalViewController。

你能指出,如果我錯了與設計或還有什麼我可以做,以確保使用TabBar問題得到解決。如果我在這裏不是很清楚,請告訴我。

很多謝謝。 AB

回答

0

通常我處理的TabBar /導航控制器東西的方式是,在我的應用程序的委託,我構建所有視圖控制器。在那裏我也構建了導航控制器。當我將視圖控制器添加到標籤欄(setViewControllers :)時,我設置了導航控制器。我有幾個應用程序,其中一些標籤有導航控制器,有些則沒有,這個方案似乎工作得很好。儘管我沒有面前的代碼給你一個具體的例子。我會說這樣做,我從來沒有看到你遇到的問題,我使用相機/圖書館選擇器與其他模式視圖控制器很多。這完全清楚嗎?

+0

感謝Merky,這將是簡單的從App代表自身做它,你不必處理多個類。你的方法更簡單,當然也適用於我,但我現在想要更好地組織代碼,因此嘗試使用多個類和層次結構的Views/ViewControllers。將回落到從App Delegate開始,或者從一個Class本身開始。 – Animesh 2011-03-03 10:00:15

0

目前從的UITabBarController模態視圖控制器,而不是相關的UIViewController

[self.tabBarController presentModalViewController:picker animated:YES]

+0

問題是我想弄清楚如何調用tabBarController,它是我試圖呈現imagepicker的類的parentViewController的子類。 – Animesh 2011-03-03 10:18:03

+0

感謝馬克的小費。以下工作適合我。 'TestAppDelegate * testAppDelegate =(TestAppDelegate *)[[UIApplication sharedApplication] delegate];' '[testAppDelegate.bottomTabBarController presentModalViewController:picker animated:YES];' – Animesh 2011-03-03 11:02:57