При запуске моего приложения на ios7 я заметил, что у моих дочерних контроллеров представления была точка происхождения, которая начиналась под панелью навигации родительского контроллера представления, в ios6 это было не так.
Это код, который я использую при добавлении контроллера дочернего представления:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if (!self.selectionBarViewController) //self.selectionBarViewController is the child view controller
{
self.selectionBarViewController = [[UCIScrollSelectionBarViewController alloc] init];
self.selectionBarViewController.view.frame = CGRectMake(0.0f,
0.0f,
self.view.frame.size.width,
44.0f);
self.selectionBarViewController.dataSource = self;
self.selectionBarViewController.delegate = self;
[self addChildViewController:self.selectionBarViewController];
[self.view addSubview:self.selectionBarViewController.view];
[self.selectionBarViewController didMoveToParentViewController:self];
[self.selectionBarViewController beginAppearanceTransition:YES
animated:YES];
}
//More set up code here
}
Когда я настраиваю рамку контроллера дочернего представления, я могу ее видеть, однако в идеале я не хочу иметь условный код макета, если пользователь запускает приложение из iOS 6 или 7.