问题描述
- UITabBarController的子页面不加载xib?
- 结构是login界面登录验证通过后跳转到uitabbarcontroller,
UserListViewController *userListVC = [[UserListViewController alloc]init]; DashboardViewController *dashboardVC = [[DashboardViewController alloc]init]; ProjectOverallViewController *projectOverallVC = [[ProjectOverallViewController alloc]init]; AlertViewController *alertVC = [[AlertViewController alloc]init]; UIViewController *firstNavigationController = [[UINavigationController alloc] initWithRootViewController:userListVC]; UIViewController *secondNavigationController = [[UINavigationController alloc] initWithRootViewController:dashboardVC]; UIViewController *thirdViewController = [[UINavigationController alloc] initWithRootViewController:projectOverallVC]; UIViewController *fourthNavigationController = [[UINavigationController alloc] initWithRootViewController:alertVC]; RDVTabBarController *tabBarController = [[RDVTabBarController alloc] init]; [tabBarController setViewControllers:@[firstNavigationControllersecondNavigationControllerthirdViewControllerfourthNavigationController]]; self.viewController = tabBarController;
其4个子界面在创建的时候勾选了xib,现在是我在4个xib文件设置其背景色无效,代码设置有效
请问大概是哪里的问题
子控制器-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.title = @""User""; } return self;}
解决方案
对于 xib 文件中的其他元件,如果需要代码中中间使用:1. 必须对这个元件设置一个自定义的 class 名称2. 使用类似下边的代码去循环找到定义,代码类似:NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@""xib_file_name"" owner:self options:nil];for (id oneObject in nib) { if ([oneObject isKindOfClass:[ClassName class]]) { cell = (ClassName *) oneObject; break; }}
解决方案二:
可能是控制器出了问题
解决方案三:
刷新一下吧。惹事一箱
解决方案四:
子控制器 这段代码不要写
时间: 2024-11-02 15:22:15