2016-08-16 2 views
1

При запуске мое приложение, я имею набор «скрывается» панель вкладок с:UITabBar - обновление альфа-значения и его рендеринг? (Swift)

UITabBar.appearance().alpha = 0.0

Это делается потому, что какая-то логика делается для того, чтобы решить, что для отображения при запуске. Все работает, да! BUT (oh, Stackoverflow time), когда пользователь все закручивается с помощью того, что я им показал, пришло время снова появляться на панели вкладок. Таким образом, в блоке завершения У меня есть (очевидно):

UITabBar.appearance().alpha = 1.0

вуаля! ПОДОЖДИТЕ НЕТ! Итак, dispatch_async(dispatch_get_main_queue())? При удаче? NO

Хорошо отлично, поэтому давайте сделаем self.view.layoutIfNeeded(). Это должно сделать это, правильно? БОНК, НЕТ!

Так что же еще страннее? Хорошо, когда я открываю модальный над этим видом (с панелью вкладок все еще с отображением на альфа 0.0, но код уже дал указание, чтобы он был 1.0 в этой точке), а затем закройте его, когда снова появится представление, табуляция перерисовывается (я предполагаю) и появляется с альфой в 1.0 и демонстрируя свою славу.

Итак, что дает? И как я могу разрешить отображение строки после того, как начальное состояние было нарисовано на экране и обновлено альфа?

Помощь!

ответ

0

Я столкнулся с этой проблемой не так давно, кроме как в контексте панели навигации. Мне также было любопытно, есть ли какие-то средства для перебора навигационной панели по команде. Я заметил, что если вы поместите свой палец, чтобы переместить новую страницу (даже слегка), появится правильное значение по умолчанию. Поэтому я пришел к выводу, что это проблема с перерисованием, которое не происходит до тех пор, пока не произойдет какое-то взаимодействие. К сожалению, похоже, что это невозможно сделать программно.

Однако, вот решение, которое я был в состоянии собрать что связано вашу проблему:

[Swift 3]

Скорее, чем при использовании navigationItem.titleView?.tintColor = UIColor.white,

я использовал:

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white, NSFontAttributeName: UIFont(name: "Copperplate", size: 24.0)] 

Однако я не уверен, что такое корреляция с панелью вкладок для вашего сценария. Возможно, вы могли бы понять это. (Я публикую все это для тех, у кого была моя проблема, и чтобы объяснить, где, вероятно, лежит ваша проблема).

Теперь, для вашей ситуации. Я считаю, что установка альфа-0, вероятно, не самый лучший способ приблизиться к вашей проблеме в первую очередь.

Дайте этому попытку:

UITabBar.appearance().isHidden = true

надеюсь, что мое решение работает или это приводит вас в правильном направлении.