UIViewControllerの4つのサブクラスを管理するプログラマティックを作成したUITabBarControllerがあります。何かが好きです:UITabBarControllerロードビューコントローラを遅延させるには?
//Create Controller 1
self.terminal = [[[TerminalController alloc] initWithNibName:@"TerminalView" bundle:nil] autorelease];
UINavigationController* navTerminal = [[[UINavigationController alloc] initWithRootViewController:terminal] autorelease];
navTerminal.title = __(@"Terminal");
navTerminal.navigationBar.barStyle = UIBarStyleBlackOpaque;
navTerminal.tabBarItem.image = [UIImage imageNamed:@"tab_terminal.png"];
//Create Controller 2
self.history = [[[HistoryController alloc] initWithNibName:@"HistoryView" bundle:nil] autorelease];
UINavigationController* navHistory = [[[UINavigationController alloc] initWithRootViewController:history] autorelease];
navHistory.title = __(@"History");
navHistory.navigationBar.barStyle = UIBarStyleBlackOpaque;
navHistory.tabBarItem.image = [UIImage imageNamed:@"tab_history.png"];
//Create Controller 3
self.settings = [[[SettingsController alloc] initWithNibName:@"SettingsView" bundle:nil] autorelease];
UINavigationController* navSettings = [[[UINavigationController alloc] initWithRootViewController:settings] autorelease];
navSettings.title = __(@"Settings");
navSettings.navigationBar.barStyle = UIBarStyleBlackOpaque;
navSettings.tabBarItem.image = [UIImage imageNamed:@"tab_settings.png"];
//Create Controller 4
HelpController* help = [[[HelpController alloc] initWithNibName:@"HelpView" bundle:nil] autorelease];
UINavigationController* navHelp = [[[UINavigationController alloc] initWithRootViewController:help] autorelease];
navHelp.title = __(@"Help");
navHelp.navigationBar.barStyle = UIBarStyleBlackOpaque;
navHelp.tabBarItem.image = [UIImage imageNamed:@"tab_help.png"];
//Create Tab Bar an add it's view to window.
self.tabBar = [[[UITabBarController alloc] initWithNibName:nil bundle:nil] autorelease];
tabBar.viewControllers = [[[NSArray alloc] initWithObjects:navTerminal, navHistory, navSettings, navHelp, nil] autorelease];
tabBar.delegate = self;
[window addSubview:tabBar.view];
UITabBarControllerに表示コントローラを遅くロードするように指示する方法はありますか?ユーザーがタブバーアイテムの1つをクリックしたとき、またはtabBarController setSelectedIndexが呼び出されたときのej。
私はOPと同じ問題を抱えていました。ありがとう!!私はアプリの起動時間を2秒遅くすることができました。 –
実際、私はこれ以上の作業とテストをして問題に遭遇しました。モーダルビューコントローラを表示してそのモーダルを閉じると、タブコントローラに戻ったときにそのインターフェイスが壊れてしまいます。私のUITabBarは移動しました。カスタムタブバーコントローラのサブビューであるUIViewは、より多くの画面を埋めるように伸びています。このような問題に遭遇しましたか?もしそうなら、解決策を見つけましたか? –
@ケニーワイランド、私はこれのようなトラブルはありませんでしたが、私はこれまでモーダルビューを表示しようとしたことはないと思います。しかし、私の頭の上から何らかの理由があるとは思えません。 – zpasternack