Row*_* Po 7 iphone xcode uitabbar ios
在我的头文件中,我有这个:
@interface TabBarController : UIViewController <UIApplicationDelegate, UITabBarDelegate, UITabBarControllerDelegate>{
IBOutlet UITabBarController *tabBarController;
}
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
@end
Run Code Online (Sandbox Code Playgroud)
在我的主文件中,我有这个:
@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
Run Code Online (Sandbox Code Playgroud)
我已经tabbarcontroller在界面构建器中将我作为委托连接到我的文件所有者,但它仍然从不调用该didSelectItem方法.
这里有什么我想念的吗?
我已经添加了tabBarController.delegate = self;它仍然无法正常工作.
ide*_*ome 15
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
Run Code Online (Sandbox Code Playgroud)
这个方法是UITabBar的委托方法,而不是UITabBarController,所以
self.tabBarController.delegate = self;
Run Code Online (Sandbox Code Playgroud)
不管用.
标签栏控制器有自己的UITabBar,但是不允许更改由标签栏控制器管理的标签栏的委托,所以只需尝试UITabBarControllerDelegate方法,如下所示:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12492 次 |
| 最近记录: |