2013-09-02 8 views
0

В настоящее время у меня есть UIViewcontroller с 3-сегментным UISegmentedControl, который при щелчке отображается на контроллерах отображения вида. Панель навигации и панель вкладок этого вида являются полупрозрачными.Проблема с интернетом iOS с полупрозрачной навигационной панелью

инициализирует мнение, как это:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self setAutomaticallyAdjustsScrollViewInsets:YES]; 
    self.segControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"View 1",@"View 2",@"View 3",nil]]; 
    [self.segControl setTintColor:[[ConstantsSingleton sharedConstants] default_bg_Color]]; 
    [self.segControl setSegmentedControlStyle:UISegmentedControlStyleBar]; 
    [self.segControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged]; 
    [self.segControl setSelectedSegmentIndex:0]; 
    self.navigationItem.titleView = self.segControl; 

    //Setting up the first viewcontroller 
    UIViewController *vc = [self viewControllerForSegmentIndex:self.segControl.selectedSegmentIndex]; 
    [self addChildViewController:vc]; 
    vc.view.frame = self.contentView.bounds; 
    [self.contentView addSubview:vc.view]; 
    self.currentViewController = vc; 
} 

contentView является IB определяется UIView с 0 ведущей и ведомыми со всех сторон (так в основном она заполняет родительское представление).

переключается viewcontrollers следующим образом:

-(void)segmentChanged:(UISegmentedControl *)sender { 
    UIViewController *vc = [self viewControllerForSegmentIndex:sender.selectedSegmentIndex]; 
    [self addChildViewController:vc]; 
    [self transitionFromViewController:self.currentViewController toViewController:vc duration:0.5 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{ 
     vc.view.frame = self.contentView.bounds; 
     [self.currentViewController.view removeFromSuperview]; 
     [self.contentView addSubview:vc.view]; 
    } completion:^(BOOL finished) { 
     [vc didMoveToParentViewController:self]; 
     [self.currentViewController removeFromParentViewController]; 
     self.currentViewController = vc; 
    }]; 
    self.navigationItem.title = vc.title; 
} 

Теперь всякий раз, когда я запускаю это с непрозрачной панелью навигации и панелью вкладок это работает отлично, но всякий раз, когда я пытаюсь использовать полупрозрачный панель навигации и/или панель вкладок изменяется только первое изображение/его вставки настроены правильно, чтобы не быть за прозрачной навигационной панелью и/или панелью вкладок. Второе и третье представления по-прежнему будут отображаться позади них, когда они появятся на экране. Не имеет значения, какой диспетчер представлений задан как первый диспетчер представлений, все ведут к такому же поведению.

Что может быть причиной этой проблемы, и есть ли способ решить эту проблему без разрешения ручной настройки содержимого.

ответ

2

Я бы предложил включить параметр Расширение границ в инспекторе свойств, который вы просматриваете.

+0

Это работало отлично! Большое спасибо. –

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