在我的iPhone应用程序,这是基于NavigationController后,我有一些元素A,B,另一种观点认为X的ç子视图当我推控制器到达这一观点,在viewWillAppear中,我调整为了正确处理设备的方向,根据X的大小确定a,b和c的大小和位置。问题在于X的大小正在变更后 viewWillAppear已被调用。我将X分类并编写了一个setFrame方法来设置断点并尝试查找原因。下面是指向图像的链接(由于缺少点,我无法直接发布图像)显示viewWillAppear处的中断,以及viewWill在调用堆栈后出现的setFrame中断。我需要帮助来找出为什么X的大小以这种方式被改变。谢谢。查看尺寸变化viewWillAppear中
在viewWillAppear中: http://img718.imageshack.us/img718/9898/viewwillappearbreak.th.png
在子类SETFRAME休息viewWillAppear中后: http://img703.imageshack.us/img703/7995/afterviewwillappear.th.png
在此先感谢。 (我希望图像能够正确显示)。
你对viewWillAppear和viewDidAppear的实现是什么样的?代码片段会很好。特别是,你什么时候从你自己的实现中调用[super viewWillAppear]和[super viewDidAppear]? – occulus
另外,您是否考虑在视图中使用自动调整大小的弹簧,以便在方向更改时调整组件大小和/或正确定位组件?也只是双重检查设置自动调整行为的方式可能是一个好主意。 – occulus
顺便说一句,这可能与layoutSubviews被调用,在这种情况下,下面的答案可能会有用: http://stackoverflow.com/questions/728372/when-is-layoutsubviews-called 顶部的答案有一个链接到一个有用的博客帖子,涉及layoutSubviews何时被调用。 – occulus