【问题标题】:Viewcontroller's view fram doesn't give accuratlyViewcontroller 视图框架不准确
【发布时间】:2012-06-05 13:55:40
【问题描述】:

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

方法一:获取 UIViewController 并推送 viewcontroller 如下[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];

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

【问题讨论】:

    标签: iphone objective-c ios uiviewcontroller


    【解决方案1】:

    第一种方法:

    您正在将UIViewController 推入UINavigationController。除了UIView 的大小(这是UIViewController 的根),您还需要记住UINavigationControllerUINavigationBar 的大小。

    第二种方法:

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

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

    【讨论】:

    • 是的,你是对的,但根据我的问题,当我获得 768*1024 的纵向图像时,如何将横向帧设置为 1024*768。
    • 你怎么知道帧大小是错误的(我的意思是让你告诉我你从哪里得到这些值)?
    • NSLog(@"self.view.frame=%@",NSStringFromCGRect(self.view.frame));它给了我(0,0,768,1024)的两个方向。我的视图在两个方向都占据了全屏。
    • 你可以试试这个:[[UIScreen mainScreen] bounds];
    • 即使我使用 [[UIScreen mainScreen] bounds];在风景中。可能是什么问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    相关资源
    最近更新 更多