OStack程序员社区-中国程序员成长平台

标题: iphone - 每次从同一个 View 加载应用程序 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:53
标题: iphone - 每次从同一个 View 加载应用程序

我希望我的应用每次完全加载到内存不足时都加载到同一个 View 中,所以当应用关闭然后再次打开时,它会打开同一个 View (目前它是 UITabBar 中的选项卡之一) . 我想看代码,而不仅仅是关于如何做到这一点的描述,因为我在 iOS 开发方面不是很有经验。 提前致谢!



Best Answer-推荐答案


如果您的选项卡是主菜单,例如,您总是希望在应用程序运行时加载,那么考虑通过在应用程序的 Info.plist< 中添加以下键来不允许多任务处理 文件:

Application does not run in background - (tick the box)
or:
UIApplicationExitsOnSuspend - set to YES (BOOL)

这将确保您的应用在按下 home 键并调用 UIApplicationDelegate 方法 applicationwillterminate: 时退出。

编辑:

好的,我认为您需要跟踪您的特定标签和/或用户所在的标签,只要这种情况发生变化。将此值保存在 NSUserDefaults (plist) 中,并在每次应用启动或激活时检查它 - 如果它不在正确的选项卡上,您可以切换到该选项卡。

这是你想要做的吗?

编辑 2:

第一步,无论您在哪里监听标签栏上的按钮按下,您都需要获取新选定索引的整数值,就像这里接受的答案一样:

Switching to a TabBar tab view programmatically?

然后,您需要将此值写入(存储/保存)到 .plist 文件中。首先,将一个新的属性列表文件添加到您的项目中,然后在 Xcode 中打开它并添加一个新行,将其命名为 SelectedTab 之类的简单名称,类型为 Number,值为 1337。

在您的应用委托(delegate)中,您需要告诉您的应用您有一个新的 .plist 需要向该应用注册,因此在 application:didFinishLaunchingWithOptions: 中您需要执行以下操作:

NSUserDefaults* userPreferences = [NSUserDefaults standardUserDefaults];
[userPreferences registerDefaults: [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"myNewFile" ofType: @"plist"]]];

您可以通过以下方式读取和写入 SelectedTab plist 整数:

要获取存储的值...

int test = [[NSUserDefaults standardUserDefaults] integerForKey: @"SelectedTab"];

要将新值写入您的 key ...

int newTab = 2;
[[NSUserDefaults standardUserDefaults] setInteger: newTab forKey: @"SelectedTab"];
[[NSUserDefaults standardUserDefaults] synchronize]; // absolutely critical!

您只需要在您的应用委托(delegate)中选择正确的位置来执行此检查,然后告诉您的标签栏加载您想要的标签。

希望这会有所帮助!

关于iphone - 每次从同一个 View 加载应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789566/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4