2

タブバー アプリケーションとストーリーボードを使用してプロジェクトを作成しました。

これで、FirstViewController (デフォルトで選択されています) と SecondViewController ができました。

選択したView Controllerが変更された瞬間を捉えるにはどうすればよいですか? (ユーザーはタブバーで 2 番目のビュー コントローラーを選択します)。

私が考えた唯一の方法は次のとおりです。1. appDelegate で UITabBarController のプロパティを作成します。

  1. を使用して設定します self.tabBarController = (UITabBarController *)self.window.rootViewController

  2. 最初のView ControllerをUITabBarControllerDelegateに準拠させます。

  3. を使用して、タブバーのデリゲートを FirstViewController に設定します [[UIApplication sharedApplication] delegate]

これを行うためのより簡単でクリーンな方法はありますか?

4

1 に答える 1

1

3番目のステップには従いませんが、あなたがやりたいと思うことは次のとおりです。

タブ バー コントローラーをサブクラス化し、デリゲート プロトコルを実装します。

@interface RootTabBarController : UITabBarController <UITabBarControllerDelegate>

独自の viewDidLoad で delegate = self を設定します。埋め込む:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

于 2013-03-29T16:44:52.857 に答える