View Controller的视图框架没有准确给出

时间:2012-06-05 13:55:41

标签: iphone objective-c ios uiviewcontroller

我使用两种方法来放置我的viewcontroller

方法1:使用UIViewController并按下[self.navigationController pushViewController:myViewController animated:YES];

下面的视频控制器

方法2:使用UIViewcontroller然后我正在使用

[self presentModalViewController:myViewController animated:YES];

当我使用Approach1“myViewController”视图大小时,像肖像一样给出768 * 1024即将到来的景观是1024 * 768.但是Approach2并没有像第一种方法一样提供预期的大小,对于两个方向它给了我768 * 1024

问题: 第二种方法的问题是什么?是否有任何解决方案来解决这个问题。

在项目中我只能使用第二种方法。但我需要得到正确的尺寸。请给我一些建议。

我的Viewcotrollers层次结构:

1)我的项目基于UITabBarViewController,仅限于肖像。

2)其中一个UITabBarButton加载另一个ViewController(BookBagViewController * bookBagViewController = [[BookBagViewController alloc] init];     theNavigationController = [[UINavigationController alloc] initWithRootViewController:bookBagViewController];)

3)BookBagViewController也受到限制。

4)BookBagViewController包含一个按钮,一旦我点击它就会执行下面的代码

MyViecontroller *viewer = [[MyViecontroller alloc] initWithNibName:@"MyViecontroller" bundle:nil];
[self presentModalViewController:viewer animated:YES];

5)MyViecontroller按预期支持所有方向,但在打印(调试)时不能提供准确的帧大小。

6)对于返回,我使用下面的行

[self dismissModalViewControllerAnimated:YES];

有关详细信息,我提供了上述步骤。请接受它,即使它很长。

1 个答案:

答案 0 :(得分:0)

第一种方法:

您正在推动UIViewController内的UINavigationController。除了UIView的大小(这是UIViewController的根)之外,您还需要记住UINavigationBar UINavigationController的大小。

第二种方法:

您在屏幕上显示UIViewController的完整尺寸(您没有将其放在任何内容中)。

至于你的问题,根据方向,尺寸实际上没有更新有点奇怪。你能说明你打印这些值的位置吗?