为什么我的UITabBar按钮显示失真并且按钮字体更改?

时间:2019-01-08 22:39:55

标签: xcode uitabbarcontroller

我有一个UITabBar应用程序,该应用程序还涉及一个UINavController然后一个UITableView:

UITabBarView-> UINavController-> UITableView-> UIController

当我进入UIController视图时,我隐藏了表格显示,可以最大化视图。当我回到UITableView时,选项卡栏会向上显示1秒钟的偏移量,然后重新呈现到正确的位置,但字体会有所不同。请参阅下面的照片以帮助理解问题:

Normal View of the TabBar shown below the UITableView

UIControlView with the TabBar hidden

Re-rendered TabBar under the UITableView

不幸的是,我无法从UITabBar区域中捕获显示TabBar图标的动画。

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:1)

您可以通过在viewWillAppear方法中设置tabBarController.tabBar.hidden = false / true来以编程方式执行此操作

processElement()

答案 1 :(得分:0)

借助@Mocha,我在viewWillAppear中为UINavController添加了self.tabBarController.tabBar.hidden = false,然后在viewWillDissappear中将其设置为“ true”。

答案 2 :(得分:0)

您可以使用情节提要板隐藏UITabBar,当您返回UITabBar时将显示。

首先进入情节提要,选择要在视图显示时隐藏TabBar的视图,然后在推入时启用“隐藏Boutton”栏

并使用以下代码过渡到要隐藏theTabBar的视图:

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

enter image description here

答案 3 :(得分:0)

我在Xcode 10.1和Simulator 12.1下遇到了相同的问题:

    从隐藏的标签栏返回时出现
  • 奇怪的动画(使用“按下时隐藏底部栏”); TabBar项在TabBar的外部,并在TabBar的左侧和上方偏移,然后放置到位

  • 随后会使TabBarItems的显示失真

在我看来,它与模拟器渲染有关,因为在设备上进行测试时可以正常工作。

如果其他人遇到此问题,我建议您先快速尝试在真实设备上进行测试(在投入大量时间之前)。