簡體   English   中英

選中后iOS刷新標簽欄項目

[英]iOS refresh tab bar items after selected

我有一個標簽欄,可以瀏覽子屏幕。

選擇選項卡項時,重新啟動選項卡欄項(第一個屏幕)。

標簽欄圖片 因此,基本上當您選擇第一個標簽欄(見上圖)並從tableview中選擇一些內容時,您將被定向到集合視圖(黑屏)。 當您選擇第二個標簽欄項目並返回標簽欄中的第一個項目時,它會從停止的位置繼續(黑色屏幕)。

我如何讓它重新開始?

我試過用這個,

- (void) viewDidLoad{
    [self.tabBarController addObserver:self forKeyPath:@"selectedViewController" options:NSKeyValueObservingOptionNew context:@"changedTabbarIndex"]; }


- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void
*)context{
    [self viewDidAppear:YES]; }

但這只會在第二次點擊時重新加載屏幕。

從我在你的圖像中看到的,你有UINavigationController作為每個標簽欄項的根視圖控制器,所以你可以做的是在你的UITabBarController中實現以下方法:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController  {
  if (tabBarController.selectedIndex == YOUR_TAB_INDEX) { 
        //YOUR_TAB_INDEX is the index of the tab bar item for which you want to show the rootView controller
    UINavigationController *navController = (UINavigationController*)viewController;
    [navController popToRootViewControllerAnimated:YES]
   }

}

這將刪除添加到UINavigationController所有視圖控制器, UINavigationController是標簽欄項的根視圖控制器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM