iphone – tabBar didSelectItem似乎没有用
发布时间:2020-12-14 19:56:57 所属栏目:百科 来源:网络整理
导读:在我的头文件中,我有这个: @interface TabBarController : UIViewController UIApplicationDelegate,UITabBarDelegate,UITabBarControllerDelegate{ IBOutlet UITabBarController *tabBarController;}-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITa
在我的头文件中,我有这个:
@interface TabBarController : UIViewController <UIApplicationDelegate,UITabBarDelegate,UITabBarControllerDelegate>{ IBOutlet UITabBarController *tabBarController; } -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item; @property (nonatomic,retain) IBOutlet UITabBarController *tabBarController; @end 在我的主文件中,我有这个: @synthesize tabBarController; -(void)viewDidLoad{ [super viewDidLoad]; self.tabBarController.delegate = self; self.view = tabBarController.view; } -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{ NSLog(@"rawr"); } - (void)viewDidUnload { [super viewDidUnload]; } - (void)dealloc { [tabBarController release]; [super dealloc]; } @end 我已将tabbarcontroller作为委托连接到接口构建器中的文件所有者,但它仍然从不调用didSelectItem方法. 这里有什么我想念的吗? 我已经添加了tabBarController.delegate = self;它仍然无法正常工作. 解决方法-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item; 这个方法是UITabBar的委托方法,而不是UITabBarController,所以 self.tabBarController.delegate = self; 不管用. 标签栏控制器有自己的UITabBar,但是不允许更改由标签栏控制器管理的标签栏的委托,所以只需尝试UITabBarControllerDelegate方法,如下所示: - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |