在我的iPhone应用程序中,它基于一个NavigationController,我有一些元素a,b,c另一个视图X的子视图。当我按下控制器获取此视图时,在viewWillAppear上,我调整了大小和位置a,b和c根据X的大小来正确处理设备方向。问题是在调用 viewWillAppear之后,X的大小正在改变。我将X子类化并编写了一个setFrame方法,以便设置断点并尝试查找原因。下面是图片的链接(由于缺少点,我无法直接发布图片),显示viewWillAppear的中断,以及viewWillAppear后使用callstack在setFrame上的中断。我需要帮助才能找出为什么X的大小会以这种方式改变。感谢。
在viewWillAppear: http://img718.imageshack.us/img718/9898/viewwillappearbreak.th.png
在子类化的setFrame中查看后的viewWillAppear: http://img703.imageshack.us/img703/7995/afterviewwillappear.th.png
提前致谢。 (我希望图像能够正确显示)。
答案 0 :(得分:0)
感谢我提供的有限信息的所有回复。我终于找到了问题的原因。我的nib文件包含一个工具栏(如果您使用的是导航控制器,我想这是件坏事)和我也在调用
setToolbarHidden: NO
在我的导航控制器上。我是iPhone编程的新手,并且认为nib文件中的工具栏会以某种方式显示为导航视图工具栏。看来情况并非如此。我对问题发生原因的理解是:
我从nib文件中删除了工具栏,并通过调用
将工具栏项添加到导航控制器工具栏setToolbarItems
在viewWillAppear之后,框架的高度保持不变。
感谢您的回复。我希望这些评论能让其他人面临同样的问题。