В настоящее время у меня есть 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;
}
Теперь всякий раз, когда я запускаю это с непрозрачной панелью навигации и панелью вкладок это работает отлично, но всякий раз, когда я пытаюсь использовать полупрозрачный панель навигации и/или панель вкладок изменяется только первое изображение/его вставки настроены правильно, чтобы не быть за прозрачной навигационной панелью и/или панелью вкладок. Второе и третье представления по-прежнему будут отображаться позади них, когда они появятся на экране. Не имеет значения, какой диспетчер представлений задан как первый диспетчер представлений, все ведут к такому же поведению.
Что может быть причиной этой проблемы, и есть ли способ решить эту проблему без разрешения ручной настройки содержимого.
Это работало отлично! Большое спасибо. –