ios - UITabbarController 隐藏标签栏破坏了安全区域布局
问题描述
我在解决自动布局问题时遇到了令人沮丧的事情。希望对这个问题有一些新的看法会更好地找到解决方案......
我在故事板文件中有一个 UITabBarController ,在第一个视图控制器中有一个 MKMapView 和一个按钮:
该按钮被限制在 View Controller 的视图安全区域的底部。MKMapView 受限于其父视图。到目前为止,这工作正常。
当我旋转手机时,问题就来了。在UITabBarController 的viewWillTransitionToSize:withTransitionCoordinator:
方法中,我调用[self.tabBar setHidden:(size.height < kMinViewSize)]
是为了在视图高度太小时时隐藏标签栏。
然后当我再次旋转回纵向模式时,标签栏会按原样取消隐藏,但布局再次被搞砸了:
最后,如果我选择另一个选项卡,然后返回到地图选项卡,按钮将移回正确的位置。
我错过了一些明显的东西吗?在此先感谢您的帮助!
解决方案
好吧,我想通了,这不是很明显。该self.tabBar setHidden:
调用包含在 的动画块中[coordinator animateAlongsideTransition:]
。我把动画块拿出来,一切都很好。
谢谢你,安德烈斯洛塔的评论——这至少帮助我意识到代码中有问题,如果不是在故事板中的话。
推荐阅读
- ios - webView.scrollView.contentOffset.x 不起作用
- python - 如何获取 GRU 在每个 epoch 的重置门、更新门和当前状态的值?
- azure - 如何在 powershell (Azure) 中返回对象的一个确切属性
- .htaccess - TYPO3 9.5.20 .htaccess 重定向 - 重定向太多
- sql - sql natural join 和 cross join 应该给出相同的输出
- python-3.x - Pyomo:将 Param 和 Var 放在列表中时未构造
- flutter - How can I reverse an AnimationController by clicking on the screen?
- r - 是否有一个函数可以找到每列的每个字符串的计数?
- html - 将 div 放入页面内而不滚动
- python - 如何在大型数据集中查找包含部分信息的 Python 列表并将其组合到单个列表中