-1

我正在尝试使我的应用程序适应 iPhone 5 的视网膜 4 屏幕,并添加 png 存档和所有内容都调整大小,但地图视图会移动到顶部并在底部留下一个白色方块。我想知道如何解决它。

提前致谢。

在此处输入图像描述

也许这与它有关?

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // We need to manually handle rotation on iPads running iOS 5 and higher to support the new UINavigationBar customization. This is automatic on the iPhone & iPod Touch.
    if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
        if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
            toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
            [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"UINavBarLandscape@iPad.png"] forBarMetrics:UIBarMetricsDefault];
        }
        else {
            [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"UINavBar@iPad.png"] forBarMetrics:UIBarMetricsDefault];
        }
    }
}
else {
    if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
        toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        [mapView setFrame:CGRectMake(0, 0, 480, 236)];
        [toolbar setFrame:CGRectMake(0, 236, 480, 32)];
    }
    else {
        [mapView setFrame:CGRectMake(0, 0, 320, 372)];
        [toolbar setFrame:CGRectMake(0, 372, 320, 44)];
    }
4

2 回答 2

1

顶部栏应固定在顶部。底部栏固定在控制器视图的底部。地图视图应该固定在顶部和底部,但也应该有一个垂直弹簧。

现在,当您拥有 iphone 4 或 5 时,一切都应该正确展开。

此外,如果您的目标是 iOS 6,请花时间使用 AutoLayout。这样,当 iPhoneN 具有不同的分辨率时,您就不必担心布局。

于 2013-05-03T14:26:43.717 回答
0

您必须以编程方式检查代码中的 iPhone 设备版本并相应地调整控件的大小。

于 2013-05-03T10:40:40.723 回答