2013-09-20 3 views
0

При запуске моего приложения на 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.

ответ

2

Причина проста: значение по умолчанию для свойства полупрозрачности панели навигации.

До iOS 6.1 значение по умолчанию было НЕТ, но начиная с iOS7 значением по умолчанию является ДА.

Прозрачная навигационная панель просто сидит поверх ее вида сверху, а не полупрозрачная, что позволяет просматривать размер контроллера вида.

Чтобы ответить на ваш вопрос, вы либо вручную устанавливаете navigationBar.translucent = NO, либо, если хотите, чтобы он был полупрозрачным, вам необходимо соответствующим образом настроить макет.

+0

Спасибо micantox, который отлично работает – williamb

Смежные вопросы