2

我使用标签栏应用程序和情节提要创建了一个项目。

现在我有FirstViewController(默认选择)和SecondViewController。

我如何捕捉所选视图控制器更改的时刻?(用户在选项卡栏上选择第二个视图控制器)。

我想到的唯一方法是:1.在appDelegate中为UITabBarController创建一个属性。

  1. 设置它使用 self.tabBarController = (UITabBarController *)self.window.rootViewController

  2. 使第一个视图控制器符合 UITabBarControllerDelegate。

  3. 使用将标签栏的委托设置为 FirstViewController [[UIApplication sharedApplication] delegate]

有没有更简单和更清洁的方法来做到这一点?

4

1 回答 1

1

我不遵循第三步,但这是我认为你想要做的:

子类标签栏控制器并实现委托协议:

@interface RootTabBarController : UITabBarController <UITabBarControllerDelegate>

并在它自己的 viewDidLoad 中设置它的 delegate = self。实施:

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

于 2013-03-29T16:44:52.857 回答