0

我正在使用两种方法来放置我的视图控制器

方法 1:使用 UIViewController 并推送视图控制器,如下所示[self.navigationController pushViewController:myViewController animated:YES];

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

[self presentModalViewController:myViewController animated:YES];

虽然我正在使用 Approach1 “myViewController” 视图大小,如预期的那样,纵向是 768 * 1024,横向是 1024 * 768。但是 Approach2 没有像第一个 Approach 那样提供预期的大小,对于它给我的两个方向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];

有关我提供上述步骤的更多信息。请接受它,即使它很长。

4

1 回答 1

0

第一种方法:

您正在推动UIViewControllera 的内部UINavigationController。除了你的大小UIView(这是你的根) ,UIViewController你还需要记住.UINavigationBarUINavigationController

第二种方法:

您正在UIViewController屏幕上展示您的完整尺寸(您没有将它放在任何东西中)。

至于您的问题,尺寸实际上并未根据方向更新,这有点奇怪。你能显示你在哪里打印这些值吗?

于 2012-06-05T14:04:57.330 回答