我很沮丧,无法解决自动布局问题。希望对这个问题有新的见解会更好地找到解决方案...
我在情节提要文件中有一个UITabBarController,并且在第一个视图控制器中有一个MKMapView和一个按钮:
该按钮被限制在View Controller视图的安全区域的底部。 MKMapView限于其超级视图。到目前为止,它仍然可以正常工作。
当我旋转手机时出现问题。在UITabBarController的viewWillTransitionToSize:withTransitionCoordinator:
方法中,我调用[self.tabBar setHidden:(size.height < kMinViewSize)]
是为了在视图的高度过小时隐藏标签栏。
然后,当我再次旋转回纵向模式时,选项卡栏应取消隐藏,但布局再次被弄乱了:
最后,如果我选择另一个选项卡,然后返回到“地图”选项卡,则按钮将移回正确的位置。
我缺少明显的东西吗?预先感谢您的帮助!
答案 0 :(得分:0)
好吧,我想通了,这并不是太明显。 self.tabBar setHidden:
调用包含在[coordinator animateAlongsideTransition:]
的动画块中。我取出动画块,一切正常。
谢谢Andre Slotta的评论-至少可以帮助我意识到,如果故事板中没有代码,那是有问题的。
答案 1 :(得分:0)
您可以通过重新布置约束以及设备旋转来做到这一点
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
coordinator.animate(alongsideTransition: { (_) in
//code
}) { (_) in
}
}