美文网首页设计模式,持久化,页面切换
如何点击一个按钮跳转到tabbar控制器的一个界面上

如何点击一个按钮跳转到tabbar控制器的一个界面上

作者: 坐怀不乱的大叔 | 来源:发表于2016-12-05 14:08 被阅读1123次

    如图片所示

    我需要点击个人中心然后跳转到“我的”tabbar里面,肯定不是用push,因为那样不符合需求。所以应该用另外一种方式

    在首页这个界面获取到你的tabbar控制器,然后让tabbar的selectedIndex等于你要跳转的那个tabbar就行了

    MHIXTabBarController *tabbar = (MHIXTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;

    tabbar.selectedIndex = 3;

    这里有个小问题,我是通过把tabbar设置为根控制器,然后获取到的,如果你的根控制器不是tabbar,那你必须要在完成一系列操作之后把tabbar控制器换成根控制器,

    比如在这里我就是在登录完成之后设置的

    MHIXTabBarController *tabbarVC = [[MHIXTabBarController alloc] init];

    app_Delegate.window.rootViewController = tabbarVC;

    这里的app_Delegate是个宏,别误导大家了

    #define app_Delegate ((AppDelegate *)[UIApplication sharedApplication].delegate)

    这里还有个问题  你在登录完成之后立马把控制器换成tabbarController 是没有动画的,会卡顿一下,所以我还是投机取消的先presentViewController过去再换的,顶多再设置一下一秒延迟。。。至于我这种方法可不可取 ,那就仁者见仁智者见智了。

    MHIXTabBarController *tabbarVC = [[MHIXTabBarController alloc] init];

    [self presentViewController:tabbarVC animated:YES completion:nil];

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    app_Delegate.window.rootViewController = tabbarVC;

    });

    相关文章

      网友评论

        本文标题:如何点击一个按钮跳转到tabbar控制器的一个界面上

        本文链接:https://www.haomeiwen.com/subject/bswkmttx.html