双击 UITab 滚动到顶部



我在点击所选选项卡以使表格视图转到顶部时遇到了一些问题。我正在使用自定义的TabBarViewController,并在其中使用以下功能:

- (void)tabBarController:(UITabBarController *)tabBarController 
didSelectViewController:(UIViewController *)viewController
{
static UIViewController *previousController = nil;
if (previousController == viewController) {
    // the same tab was tapped a second time
    if ([viewController respondsToSelector:@selector(scrollToTop)]) {
        [viewController scrollToTop];
    }
}
previousController = viewController;
}

我也收到以下错误:

No visible @interface for 'UIViewController' declares the selector 'scrollToTop'

我想知道我该如何解决这个问题?如果你们需要更多信息,请告诉我。这已经困扰了我一个星期了!

谢谢大家!!

你的标签栏控制器的视图控制器是不是UINavigationController?也许你应该这样做:

- (void)tabBarController:(UITabBarController *)tabBarController
 didSelectViewController:(UIViewController *)viewController
{
    static UIViewController *previousController = nil;
    if ([viewController isKindOfClass:[UINavigationController class]]) {
        if (previousController == ((UINavigationController *)viewController).viewControllers.firstObject) {
            // the same tab was tapped a second time
            if ([viewController respondsToSelector:@selector(scrollToTop)]) {
                [viewController scrollToTop];
            }
        }
        previousController = ((UINavigationController *)viewController).viewControllers.firstObject;
    } else {
        previousController = viewController;
    }
}

最新更新