Web で見つけたコードを使用して、最後に読み込まれたタブを保存しています。私のアプリデリゲートで:
- (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
「More...」タブを表示するタブ付きインターフェースでこのコードを使用しています。「More...」部分のタブで終了すると、アプリを再起動するとインターフェイスがそのタブに戻ります。「More...」テーブルビューでインターフェイスが再起動しませんが、問題はないと思います。