如何在iphone上获取切换选项卡菜单的事件
我试图找出如何捕获控制屏幕上开关选项卡的事件如何在iphone上获取切换选项卡菜单的事件,iphone,iphone-sdk-3.0,uitabbarcontroller,Iphone,Iphone Sdk 3.0,Uitabbarcontroller,我试图找出如何捕获控制屏幕上开关选项卡的事件 UITabBarController。我怎样才能做到这一点 查看UITabBarControllerDelegate中的以下方法: - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 告诉代理用户 在选项卡栏中选择了一个项目 UITabBarControll
UITabBarController
。我怎样才能做到这一点 查看UITabBarControllerDelegate中的以下方法:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
告诉代理用户
在选项卡栏中选择了一个项目
UITabBarControllerDelegate
是您正在寻找的,特别是-tabBarController:didSelectViewController:
?实现UITabBarControllerDelegate
例如在您的应用程序代理的applicationdifinishLaunching
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
tabBarController.delegate = self;
[window addSubview:tabBarController.view];
}
然后执行以下任一操作:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
第一个方法在视图切换之前调用,通过返回NO
第二种方法在视图切换发生后调用如果您使用的是情节提要,请执行此操作 在didFinishLaunchingWithOptions中
UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
[tabBar setDelegate:self];
同样在AppDelegate中,保留
然后
-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
//Write your code here
}
迟做总比不做好。在swift 4的情况下,您可以按照以下方式进行操作
tabBarViewController.delegate = self
并在类中实现uitabardelegate
。
你会收到回电的
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
//Stuff to do
}