2012-01-12 22 views
0

我有3個標籤帶有表格視圖的iOS選項卡式應用程序,如何重置表格視圖選項卡?初學者。

第一個標籤選項卡式應用程序是一個表視圖 第二和第三翼片是單個頁面瀏覽量

當用戶點擊一個表格單元格在視圖中的一個新的觀點是用後退按鈕推到表格單元格上。

現在讓我們說他們點擊標籤2,然後回到標籤1.在標籤1上推送的新視圖仍然可見。我想讓表視圖「重置」,當他們離開它與另一個選項卡,以便他們返回時,他們與表視圖呈現,而不是推入的新視圖。

+0

這確實違背了iOS上的「正常」用戶體驗。爲什麼你認爲用戶在切換標籤時會想要「重頭開始」? – 2012-01-12 21:08:08

回答

0

我同意ElJay評論,但回答時,選擇一個新的選項卡問題使用UITabBarControllerDelegate

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController 

,看看當前是tabBarController標籤1 selectedIndex屬性如果是這樣popToRootViewController:

0

正如其他人所說,這可能不是一個好的用戶體驗。選項卡控制器的想法是,它可以讓用戶在應用程序的不同部分之間自由切換,並可以回到以前的工作狀態。

如果您確定要這樣做,請將導航視圖控制器的根視圖控制器設置爲自定義子類,並將其設置爲選項卡欄控制器的代表。

在自定義視圖控制器,實現函數shouldSelect(),如下:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool 
{ 
    if viewController == self.navigationController { 
    self.navigationController.popToRootViewController() 
    } 
    return true 
} 

披露:我還沒有試圖編譯上面的代碼,更不用說測試。

相關問題