app - iOS如何实现登陆界面跳转到TabBarController
阿神
阿神 2017-04-17 15:32:08
[iOS讨论组]

请教个问题
我想做一个即时通讯的app 其中涉及到登陆的问题。
想要实现先验证是否登陆 若登陆 则跳转到
若未登录 则跳转到登陆界面 在点击登陆后跳转到TabBarController 进行正常使用

现在这个业务逻辑不知道该怎么实现了,烦请各位大大指点一下
以下是我的storyboard (图片是随便拉的 不要吐槽啊)

阿神
阿神

闭关修行中......

全部回复(4)
迷茫

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [self.window makeKeyAndVisible];

    //1.取出已存的账号,判断是否过期,是否仍然正确之类
    BOAccount *account = [BOAccountTool readAccount];
    if (account) {
        HomeViewController *homeVC = [[HomeViewController alloc] init];
        self.window.rootViewController = homeVC;
    }else{//2.如果不存在,登陆
        LoginViewController *loginVC = [[LoginViewController alloc] init];
        self.window.rootViewController = loginVC;
    }
    return YES;
}
黄舟

我简单说两句。

第一句:

- (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  [self checkUserStatus];

  self.window.rootViewController = self.loginController;
  [self.window makeKeyAndVisible];
}

登录后:

- (void)onLogin
{
    //这句不一定对,大意是这个:
    UIApplication.sharedApplication.delegate.window.rootViewController = MainController.new
}

第二句:

这种在运行时唯一用到的部件我喜欢放到AppDelegate中,索引起来方便,lz可以参考,另外不建议lz完全用StoryBoard来组织关系,不灵活且肯定会坑。

PHPz

在NeroTabbarController的viewwillAppear里面写是否跳转登录界面的逻辑判断。

阿神

我首先想到的方法是直接使用模态, 在需要登陆的时候弹出来, 登陆成功后dismiss然后block中刷新根视图控制器上的信息. 只不过以往需要点击登录才会弹出来, 现在的情况是只要判断不在登录状态就直接弹出. 判断方法使用NSUserDefault中的一个跟用户登录状态有关的键值对即可.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号