我正在将一个ViewController
推入NavigationController
,但没有设置其frame
。
虽然新视图按预期显示在导航栏下方,但其边界属性显示的是整个屏幕大小减去状态栏(在iPhone上为{0, 0}, {320, 460}
),而其框架从状态栏下方开始,而不是从导航栏下方开始({0, 20}, {320, 460}
)。
如何从子ViewController
中获取实际的边界和框架?
我正在将一个ViewController
推入NavigationController
,但没有设置其frame
。
虽然新视图按预期显示在导航栏下方,但其边界属性显示的是整个屏幕大小减去状态栏(在iPhone上为{0, 0}, {320, 460}
),而其框架从状态栏下方开始,而不是从导航栏下方开始({0, 20}, {320, 460}
)。
如何从子ViewController
中获取实际的边界和框架?
在 viewWillAppear
中检查 bounds
。当调用此方法时,bounds 将被正确设置,例如 {320, 416},同时考虑到导航栏的高度。在 viewDidLoad
中,bounds 尚未正确设置。