双击 UITabBarItem 不会将 UITableView 滚动到顶部

Posted

技术标签:

【中文标题】双击 UITabBarItem 不会将 UITableView 滚动到顶部【英文标题】:Double tap on UITabBarItem doesn't scroll UITableView to top 【发布时间】:2015-10-14 06:19:17 【问题描述】:

我有 UITabBarController,其中每个项目都有 NavigationController,每个 NavigationController 都有一个 TableViewController 作为根视图控制器。

问题是点击每个标签栏项目不会使表格视图滚动到顶部。

可能是什么问题,我该如何解决?

【问题讨论】:

你写了吗[yourtableview setScrollsToTop:YES];关于标签栏的点击方法? @NiravPatel 是的,我做到了! 在这种情况下,您可以将tableview内容偏移设置为零。 【参考方案1】:

答案是这样的:

-(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;

【讨论】:

【参考方案2】:

检查您的标签项是否为double tapped or not。如果是,则 scrollsToTop 如下所示:-

添加以下代码:-

-(void)viewWillAppear:(BOOL)animated
    [tableView scrollsToTop];

【讨论】:

我不希望它每次出现时都滚动到顶部!仅当用户双击 TabBar 项时。 您希望它何时出现在顶部? 关注这个:- ***.com/a/1850951/988169 检查您的标签项目是否被双击。如果是,则 scrollsToTop 我做到了。请做必要的事情。

以上是关于双击 UITabBarItem 不会将 UITableView 滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章

双击 UITabBarItem 以向上滚动并像 Twitter 应用程序一样重新加载

UITabbarItem : - 下载的图像不会显示在选项卡项中。

使用 UITabbaritem 作为 UIButton

iOS 11 中的横向 UITabBar 中的 UITabBarItem

UITabBarItem 不生成触摸事件

如何将 UITabBarItem 标题更改为另一个 UITabBarItem 的标题?