UITabbarController.xib
有UILabel
作为SubView
。UILabel添加到xib的UITabbarController视图被UITabbarController隐藏子视图控制器
当我运行应用程序UILabel
不可见,因为子视图控制器隐藏UILabel
。
我希望UILabel
在所有ChildView
控制器中都可见。
当我调试viewDidLoad
和viewWillAppear
该标签看起来nil
对象虽然我已经在TabBarController.h
文件IBOutlet
连接的代码。
我有这样的代码在.h文件中这一
@interface TestTabBarController : UITabBarController <UITabBarControllerDelegate>
@end
and in .m file
@interface TestTabBarController()
@property (weak, nonatomic)IBOutlet UILabel *historylabel;
@end
@implementation TestTabBarController
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if(self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]){
}
return self;
}
-(void)setChildrenViewControllers
{
// Set the View Controllers.
FirstViewController *viewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
SecondViewController *viewcontroller2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
ThirdViewController *viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
FourthViewController *viewController4 = [[FourthViewController alloc] initWithNibName:@"FourthViewController" bundle:nil];
self.viewControllers = @[viewController,viewcontroller2,viewController3,viewController4];
self.delegate = self;
}
@end
我打电话的Tabbarcontroller类如下
TestTabBarController *testtabbar = [[TestTabBarController alloc] initWithNibName:@"TestTabBarController" bundle:nil];
[testtabbar setChildrenViewControllers];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:testtabbar];
[self.navigationController presentViewController:navController animated:YES completion:nil];