【发布时间】:2012-10-01 20:14:22
【问题描述】:
我推送一个视图控制器 (mainVC) 并向其中添加一些子视图。大多数这些视图都是按需构建的,因为用户会采取一些行动。
当我构建每个视图时,我参考mainVC.view.bounds 来调整视图的大小。根据需求大小构建的那些很好,但第一个(我在viewDidLoad 添加)似乎没有考虑隐藏的导航栏或未隐藏的工具栏 - 我不确定是哪个。
其他问题似乎向我保证 viewDidLoad 是引用边界和添加这些子视图的正确位置。我被误导了吗?日志记录产生以下结果:
在viewDidLoad 中,边界高度为 548。
在viewWillAppear 中,边界高度为 460 (-44 x 2)。在viewWillAppear我隐藏了导航栏,但是前后高度是一样的。
在以后的所有时间里,边界高度都是 504 (-44 x 1)。
为什么当我尝试在viewDidLoad 中阅读时边界高度没有更新?
【问题讨论】:
-
我假设第一次加载笔尖时,视图是您设置的任何大小。当它最终成为窗口中的子视图时,系统会根据其所在位置调整它的大小(我假设)。请注意,没有“硬”大小 - 我启用了网络共享,因此视图比正常视图短 20 像素。
标签: ios cocoa-touch uiview uiviewcontroller bounds