Панель вкладок iOS становится прозрачной после отключения контроллера представления

#ios #objective-c #transparent #uitabcontroller

#iOS #objective-c #прозрачный #uitabcontroller

Вопрос:

Я столкнулся со странным поведением при использовании контроллера панели вкладок в iOS. У меня есть такой контроллер с 3 вкладками, как видно на следующем изображении:

Панель вкладок

Следующая проблема возникает только на физическом устройстве, а не на симуляторе: когда я представляю контроллер представления (модальный) сверху и снова закрываю его, панель вкладок становится полностью прозрачной (не полупрозрачной) тогда и только тогда, когда она была представлена во время активной вкладки карты. Если вкладка списка или настроек активна при представлении контроллера представления, то после повторного отключения этого контроллера представления все остается так, как и должно быть.

Кто-нибудь сталкивался с подобным поведением? Это ошибка? Или я делаю что-то не так?

Спасибо за вашу помощь.

Комментарии:

1. Как вы представляете VC? Вы представляете из самого контроллера вкладок, используя [self.TabBarController presentViewController: vc animated: YES] ?

Ответ №1:

Это только на iPhone 4? У меня была подобная ошибка только на 4s. Для этого есть исправление, если это проблема. Это ошибка Apple. Попробуйте в viewDidAppear в контроллере вкладок.

 - (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];

//Stupid fix for iPhone 4 Tab bar background becoming invisible
    self.tabBar.translucent = NO;
    self.tabBar.translucent = YES;


}
  

Это помогло мне исправить исчезновение фона на полупрозрачной панели вкладок на iPhone 4

Комментарии:

1. Спасибо, это работает как обходной путь. К сожалению, все еще можно видеть, что панель вкладок становится прозрачной, а затем возвращается в нормальное состояние, но я думаю, другого пути нет. Вызов этого в viewWillLoad, по-видимому, не помогает.

2. Nope должен быть в viewDidAppear. Это ошибка Apple, поскольку прозрачность и iPhone 4 плохо сочетаются. Я нигде не мог найти реального решения. Лучше исправлено и нечетно, чем полностью ввернуто.

3. Если нет контроллера представления контроллера вкладок, куда бы вы это поместили?