我使用两种方法来放置我的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];
有关详细信息,我提供了上述步骤。请接受它,即使它很长。
答案 0 :(得分:0)
第一种方法:
您正在推动UIViewController
内的UINavigationController
。除了UIView
的大小(这是UIViewController
的根)之外,您还需要记住UINavigationBar
UINavigationController
的大小。
第二种方法:
您在屏幕上显示UIViewController
的完整尺寸(您没有将其放在任何内容中)。
至于你的问题,根据方向,尺寸实际上没有更新有点奇怪。你能说明你打印这些值的位置吗?