ghi*_*boz 4 objective-c uitabbarcontroller uitabbaritem uitabbar ios
当用户点击tabbaritem进入uitabbarcontroller更改某些内容时,我需要检索..这是我的代码:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
if (item == [tabBarController.tabBar.items objectAtIndex:2]) {
item.title = @"add shot";
}
else
{
item.title = @"Race";
}
}
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
self.tabBarController.tabBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)
我收到一个sigkill ......
什么是正确的解决方案?提前致谢
您的视图控制器是否符合UITabBarDelegate协议?在头文件中:
@interface MyViewController : UIViewController<UITabBarDelegate> {
// ...
}
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
@end
Run Code Online (Sandbox Code Playgroud)
然后,就这样做:
tabBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)
代替:
self.tabBarController.tabBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)
和:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
//self.tabBarItem.title = @"Title";
}
Run Code Online (Sandbox Code Playgroud)