Сбой setBackgroundColor, когда loadView реализован для ViewController, используемого для UITabBarController
У меня есть контроллер представления, который используется в appDelegate.m как часть tabBarController (код приведен ниже)
self.window=[[UIWindow alloc ]initWithFrame:[[UIScreen mainScreen]bounds]];
UITabBarController *baseTab=[[UITabBarController alloc] init];
self.feedViewController=[[FeedViewController alloc] init];
self.favViewController=[[FavViewController alloc] init];
[baseTab.tabBar setTintColor:[UIColor yellowColor] ];
[baseTab setViewControllers:@[self.feedViewController,self.favViewController]animated:YES];
Код внутри feedViewController размещен ниже, сбой приложения решается, когда я удалил loadView из приведенной ниже реализации.
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self)
{
[self setTitle:@"Feed"];
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.view setBackgroundColor:[UIColor blueColor]];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)loadView
{
}
Пожалуйста, помогите мне понять, почему это происходит.
1 ответ
Решение
Вызовите супер метод в представлении загрузки
-(void)loadView { [super loadView]; }
надеюсь, это поможет вам, удачи