Почему моя кнопка UITabBar выглядит искаженной, а шрифт кнопки меняется? - PullRequest
0 голосов
/ 09 января 2019

У меня есть приложение UITabBar, которое также включает UINavController, а затем UITableView, так:

UITabBarView -> UINavController -> UITableView -> UIController

Когда я захожу в представление UIController, я скрываю табличное представление, которое позволяет увеличить представление. Когда я возвращаюсь к своему UITableView, то панель вкладок показывает смещение в течение 1 секунды вверх, прежде чем оно будет перерисовано в правильное положение, но с другими шрифтами. Смотрите фотографии ниже, чтобы помочь понять проблему:

Обычный вид вкладки, показанной под UITableView

UIControlView со скрытой панелью вкладок

Повторно визуализированный TabBar под UITableView

К сожалению, я не могу взять анимацию, где она показывает значки TabBar из области UITabBar.

Любая помощь будет принята с благодарностью!

Ответы [ 4 ]

0 голосов
/ 19 апреля 2019

Я столкнулся с той же проблемой в Xcode 10.1 и Simulator 12.1:

  • странная анимация при возвращении из скрытой панели вкладок (с помощью «Hides Bottom Bar on Push»); Элементы TabBar находятся за пределами TabBar и смещаются влево и над TabBar, затем встают на место

  • искаженное отображение TabBarItems впоследствии

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

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

0 голосов
/ 09 января 2019

Вместо использования xib вы можете сделать это программно, установив tabBarController.tabBar.hidden = false / true в ваших методах viewWillAppear

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    tabBarController?.tabBar.isHidden = true // or false
}
0 голосов
/ 09 января 2019

Вы можете скрыть UITabBar, используя раскадровку, и когда вы вернетесь в UITabBar, появится.

Сначала перейдите к раскадровке и выберите вид, который вы хотите скрыть во вкладке TabBar при его отображении, и включите панель Hide Boutton при нажатии

и для перехода к представлению, которое вы хотите скрыть в TabBar, используйте этот код:

 let SecondViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourview") as! yourview
 self.navigationController?.pushViewController(SecondViewController, animated: true)

enter image description here

0 голосов
/ 09 января 2019

С помощью @Mocha я добавил self.tabBarController.tabBar.hidden = false для UINavController в viewWillAppear, а затем я установил для него значение "true" в viewWillDissappear.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...