ios – 点击标签栏滚动到UITableViewController的顶部

前端之家收集整理的这篇文章主要介绍了ios – 点击标签栏滚动到UITableViewController的顶部前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
点击当前导航控制器的标签栏图标已经将用户返回到根视图,但是如果它们向下滚动,如果再次点击它,我希望它滚动到顶部(与点击状态栏相同的效果).我该怎么做?

一个很好的例子是Instagram的Feed,向下滚动然后点击标签栏中的主页图标来滚动回到顶部.

滚动回到顶部很容易,但是将其连接到标签栏控制器是我坚持的.

解决方法

实现UITabBarControllerDelegate方法tabBarController:didSelectViewController:当用户选择选项卡时通知.即使已经选择了该选项卡,当再次点击相同的Tab按钮时也会调用方法.

实施这个代表的好地方可能是你的AppDelegate.或逻辑上“拥有”标签栏控制器的对象.

我将声明并实现一个可以在视图控制器上调用方法来滚动集合视图.

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

猜你在找的iOS相关文章