ios - 如何根据条件为 App 启动选择 rootViewController?
<p><p>我有一个应用程序,在第一次安装应用程序时我会显示我的第一个 ViewController 。第二次运行后,我不想再显示第一个 View 。</p>
<p>我已经保存了一个设置值,它告诉我应用程序之前是否运行过,如果有,那么我调用 performSegueWithIdentifier。</p>
<p>我不能在 viewDidLoad 中调用它,因为这不起作用,但如果我在 viewDidAppear 中调用它,那么我会在一瞬间看到第一个 View 。 </p>
<p>在第一个 View 被处理之前,我可以在某个地方调用它吗? </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您需要在 <code>AppDelegate.m</code> 中执行此操作。</p>
<p>检查应用之前是否启动过,并相应地设置您的 <code>window</code> <code>rootViewController</code>。</p>
<pre><code>-(void) setRootViewControllerByCheckingLoginStatus
{
BOOL isUserLogin = [ boolForKey:@"IS_USER_LOGGEDIN"];
if (isUserLogin) {
// Set your controller if user has logged in.
YourController *yourController = [ init]; // Or YourController *yourController = ;
self.window.rootViewController = yourController;
}
else
{
//set other controller if user is not logged in. Or just let it be what it is by default.
}
}
</code></pre>
<p>在您的 <code>-应用程序中调用上述方法:
didFinishLaunchingWithOptions:</code></p>
<p>你就完成了。</p>
<p><strong>编辑您的评论..</strong></p>
<p>黑屏意味着你没有正确实例化你的 ViewController。不要使用</p>
<pre><code>[ init];
</code></pre>
<p>使用</p>
<pre><code> YourController *yourController = ;
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何根据条件为 App 启动选择 rootViewController?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31982590/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31982590/
</a>
</p>
页:
[1]