场景:
在xcode8.3下 今天在弄工程的时候,发现把之前工程中的tabbar控制器拿过来后,在控制器里面用 controller.tabBarItem.title = @"11111"不显示
之前用着一直没问题
代码如下
===============================================
#pragma mark -
- (void)viewDidLoad {
[super viewDidLoad];
[self addChildVc];
}
-(void)addChildVc
{
OneViewController * infoVc = [[OneViewController alloc] init];
[self addChildVc:infoVc withTitle:@"1" withImage:@"shuju_1" withSelectedImage:@"info"];
}
-(void)addChildVc:(UIViewController *)controller withTitle:(NSString *)title withImage:(NSString *)image withSelectedImage:(NSString *)selectedImage
{
// 设置子控制器的文字
// controller.title = title; // 同时设置tabbar和navigationBar的文字
// 本工程不需要设置导航的标题,所以不用上一句
controller.tabBarItem.title = title; // 设置tabbar的文字
// controller.navigationItem.title = title; // 设置navigationBar的文字
#pragma mark 设置子控制器的 tabBarItem.image
controller.tabBarItem.image = [UIImage imageNamed:image];
controller.tabBarItem.selectedImage = [[UIImage imageNamed:selectedImage]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
#pragma mark 先给外面传进来的小控制器 包装 一个导航控制器
ZNavigationController *nav = [[ZNavigationController alloc] initWithRootViewController:controller];
#pragma mark 添加为子控制器
[self addChildViewController:nav];
}
===============================================
尝试了
controller.title = title; 和
controller.navigationItem.title = title;
都可以在tab或者navi上显示相应的标题,唯独用 controller.tabBarItem.title = title; 显示不出来
挺奇怪
后来把
[self addChildVc:infoVc withTitle:@"1" withImage:@"shuju_1" withSelectedImage:@"info"];
里面的图片shuju_1和info真正加到工程里才可以了
xcode 等有的时候也有bug,比较怪。具体原因归结为xcode的。 有具体知道原因的欢迎评论