我有一个自定义子集svg
,其栏高度大于默认的UITabBarController
高度(默认高度为49)。
在后代UITabBar
中,我像这样检查主UIViewController
的大小:
UIView
返回的值是我期望的值,而在iPhone 6 Plus上不考虑print(view.frame)
(即Safe Area
,即纵向)的全尺寸视图。
当(414.0, 736.0)
中的界面方向发生变化时,我需要更新几个子视图框架。我想对框架使用与viewWillTransition
中相同的代码,该代码应该仅能够使用视图的新viewDidLoad
来调整子视图框架。但是,由于我不知道的原因,传递给CGSize
的{{1}}的尺寸比原来的视图小。
例如,如果纵向的原始尺寸为CGSize
,则传递给viewWillTransition
的尺寸为(414.0, 736.0)
。
我注意到这两个维度的差异与默认的UITabBar高度(49)相同。我不知道这是否是巧合,但我倾向于认为这是相关的。
切换回原始方向时,传递到viewWillTransition
的{{1}}仍然小于原始方向(返回(736.0, 365.0)
而不是完整的CGSize
)
为什么viewWillTransition
收到的尺寸小于原始视图的尺寸?我可以通过在接收到的大小上手动添加49来解决此问题,但这对我来说似乎不是最佳解决方案。