AppDelegate アプリケーション didFinishLaunchingWithOptions に次のコードを追加して、ストーリーボードで作成した UITabBarController (タブ付きアプリケーション テンプレートなど) を参照します。次に、現在のタブ (ViewController) を表す self.currentController が必要です。このようなタブの 1 つを表すようにして、Log で self.currentController の ViewController の名前を取得できます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
self.currentController = [[tabController viewControllers] objectAtIndex:0];
}
しかし、現在表示されているタブを表すにはどうすればよいでしょうか?
私はもう試した:
self.currentController = tabController.selectedViewController
警告が表示されます: UIViewController から UIViewController<BannerViewContainer> に割り当てられている互換性のないポインター。NSLog self.currentController の場合、(null) と表示されます。
UITabBarController クラス リファレンスのさまざまなコードの組み合わせも試しましたが、うまくいきません。これに適したコードは何ですか?