我正在使用我在网上找到的一些代码来保存最后加载的选项卡。在我的应用委托中:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
// .. my app set up is here
// Select the tab that was selected on last shutdown
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger whichTab = [defaults integerForKey:kSelectedTabDefaultsKey];
self.tabBarController.selectedIndex = whichTab;
}
- (void)applicationWillTerminate:(UIApplication *)application
{
// Save the current tab so the user can start up again in the same place.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger whichTab = self.tabBarController.selectedIndex;
[defaults setInteger:whichTab forKey:kSelectedTabDefaultsKey];
}
以及我的接口文件中的定义:
#define kSelectedTabDefaultsKey @"SelectedTab"
除非用户重新排列选项卡,否则此方法有效,在这种情况下,您必须更新选项卡数组(索引将更改)。
这是我找到代码的原始页面:
http://iphonedevelopment.blogspot.com/2009/09/saving-tabs.html
我在显示“更多...”选项卡的选项卡式界面上使用此代码。当我在“更多...”部分下的选项卡上退出时,界面会在我重新启动应用程序时返回到该选项卡。该界面不会在“更多...”表视图上重新启动,但我不认为这是一个问题。