gpt4 book ai didi

ios - 如何从 appDelegate 重新加载 rootViewController

转载 作者:行者123 更新时间:2023-11-29 10:43:40 25 4
gpt4 key购买 nike

我有一个 UINavigationController,我在它上面加载了一个 rootView,它控制我的应用程序的登录过程。

我最近向我的应用程序委托(delegate)添加了一些代码,用于在发生此注销请求时检查我的设置包是否有注销请求我想重新加载 rootView 以便它加载登录 hud,或者只是调用 rootView 中的方法显示登录 HUD。

这就是我在 appdelegate 中为 navigationController 设置 rootView 的方式

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.rootViewController = self.navigationController; //Adds RootViewController to the NavigationController interface
// etc
}

我想知道有没有办法重新加载 rootViewController?或在应用程序委托(delegate)中从中调用方法?

最佳答案

可以做到,但是比较复杂。如果可能,最好避免它,每个应用程序的具体要求都会有所不同。如果没有看到您应用的源代码,我们无法告诉您它是如何完成的。

基本过程是您需要从 View 中删除所有这些并将所有引用设置为 nil,然后通过代码或再次加载 nib 重新创建它。

一个更好的选择是将 rootViewController 留在原处,并在其顶部呈现一个模态登录 View Controller 。用户登录后,发送 Root View Controller 可以观察到的 NSNotification,并填充其数据。

等到通知发送后隐藏登录 Controller ,并考虑让 Root View Controller 在主线程执行任何与登录有关的网络操作时阻塞主线程。这样登录 View (带有“登录...”消息?)将保持可见,直到 Root View 完全填充。

关于ios - 如何从 appDelegate 重新加载 rootViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23231388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com