Я использую некоторый код, который я нашел в сети, чтобы сохранить последнюю загруженную вкладку. В моем приложении делегат:
- (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
Я использую этот код в интерфейсе с вкладками, который показывает вкладку «Еще ...». Когда я закрываю вкладку в разделе «Еще ...», интерфейс возвращается к этой вкладке при перезапуске приложения. Интерфейс не перезапускается в табличном представлении «Еще ...», но я не считаю это проблемой.