【问题标题】:How can i make my application allways start with the second view?我怎样才能让我的应用程序总是从第二个视图开始?
【发布时间】:2012-01-26 16:16:44
【问题描述】:

我有一个 Web 服务应用程序,它有登录视图。我想让我的应用程序的登录视图在第一次加载(安装)应用程序时出现,之后它必须始终从第二个视图开始。我怎样才能做到?在this 链接中有一些解决方案,但我认为这不是我想要的。由于我的是网络服务,意味着第二个视图的内容(我想一直推送)是从服务器获取的(我使用 NSJSONSerialization 类来完成这项工作)

【问题讨论】:

    标签: objective-c ipad uiview uiviewcontroller


    【解决方案1】:

    我会将登录视图作为仅在需要时显示的模式视图。

    编辑: 这非常简短:(我假设您使用的是 ARC。)

    在 AppDelegate 中:

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: mySecondViewController];
    
    if (![self isUserLoggedIn]) {
        MyLogInViewController *logInViewController = [[MyLogInViewController alloc] init];
        [self presentModalViewController: MyLogInViewController animated: YES];
    }
    [[self window] setRootViewController: [self navigationController]];
    

    在logInViewController中:

    - (void)logInSuccessful {
        [self dismissModalViewControllerAnimated: YES];
    }
    

    【讨论】:

    • 对不起,我已经创建了所有的应用程序,才意识到这种情况。我现在需要改变一切吗?或者,有没有办法将我的登录视图变成“模型”?
    • 对不起,我的意思是模态而不是模型。这两种观点是如何呈现的? UINavigationController?
    • 这将是理想的,但这取决于您如何设置应用程序?它是基于导航的应用程序吗?基于 TabBar?
    • 是的,它是一个基于导航的应用程序。从第一个视图和第二个视图之间的连接通过检测服务器并带来数据的操作进行。我的意思是,当我按下按钮时,我会在解析后保存用户信息数据(向服务器发送 GET 并解析响应),然后推送第二个视图
    • 我会更改为模态视图。为了让您开始查看UIViewController 文档。有一些方法可以呈现模态视图控制器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多