2015-10-14 108 views
0

我有UITabBarController其中每個項目都有NavigationController和每個NavigationController有一個TableViewController作爲根視圖控制器。雙擊UITabBarItem不會滾動UITableView頂部

問題是點擊每個標籤欄項目不會使表視圖滾動到頂部。

什麼可能是問題,我該如何解決它?

+0

你寫[yourtableview setScrollsToTop:YES];關於標籤欄的敲擊方法? – NiravPatel

+0

@NiravPatel是的,我做到了! – aakpro

+0

在這種情況下,您可以將tableview內容偏移量設置爲零。 – NiravPatel

回答

0

那麼答案是這樣的:

-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController 
{ 
    MasterTableViewController * theViewController; 
    if (tabBarController.selectedViewController == viewController) 
    { 
     if ([viewController isKindOfClass:[UINavigationController class]]) 
     { 
      UINavigationController * nav = (UINavigationController *)viewController; 
      theViewController = (MasterTableViewController *)nav.topViewController; 
     } 
     else 
     { 
      theViewController = self; 
     } 
     if ([theViewController respondsToSelector:@selector(navigationBarDoubleTap:)]) 
     { 
      [theViewController navigationBarDoubleTap:nil]; 
     } 
    } 
    return YES; 
} 
0

檢查您的標籤項是否爲double tapped or not。如果是,則scrollsToTop象下面這樣: -

添加如下代碼: -

-(void)viewWillAppear:(BOOL)animated{ 
    [tableView scrollsToTop]; 
} 
+1

我不希望它每次出現時都滾動到頂部!只有當用戶雙擊TabBar項目。 – aakpro

+0

當你想在頂部? – pkc456

+0

按照此: - http://stackoverflow.com/a/1850951/988169 檢查您的標籤項是否雙擊。如果是,那麼scrollsToTop – pkc456