0

我正在构建一个只是 UIWebView 的 iPhone 应用程序。当我尝试在手机上运行此应用程序时,屏幕顶部和底部出现一个大黑条。我相信是因为它针对较小的屏幕进行了优化。不过,在我的 iPhone 5 上,它并不是最佳选择。

如何根据 iPhone 的类型(屏幕大小)更改 UIWebView 的大小?

在此处输入图像描述

这是我的 xib 文件的屏幕截图。 在此处输入图像描述

4

5 回答 5

3

Default-568h@2x.png首先,为您的项目添加一个名为的默认图像。这消除了 iPhone 5 上的黑条。然后,要更改每个屏幕的 Web 视图大小,在右侧窗格的界面生成器中,单击标尺图标,然后在窗格的左下方,更改设置它看起来像这样(这假设自动布局已关闭)

在此处输入图像描述

如果您不使用 IB,请执行@Dilip 所写的操作。

于 2013-04-04T05:26:25.020 回答
1

你可以做两件事:

1)设置一个 iPhone 5 特定的默认(启动)屏幕(Chris 列出的 Default-568h@2x.png 文件 ... +1 给他)

2)使用自动布局并确保您的网络视图在窗口/容器视图的顶部和底部边缘之间的宽度为零。

您可以通过选中此复选框在情节提要或 XIB 中打开它:

在此处输入图像描述

于 2013-04-04T05:24:51.820 回答
0

根据设备大小更改您的 webview 大小。

    - (void)viewDidLoad
    {
        CGRect screenBounds = [[UIScreen mainScreen] bounds];
            if (screenBounds.size.height == 568) {

    webView.frame= CGRectMake(yourX, yourY, yourWidth, yourHeight);
            } else {

    webView.frame= CGRectMake(yourX, yourY, yourWidth, yourHeight);
            }
     [super viewDidLoad];
    }

而且你必须添加一个 Default-568h@2x.png(640 × 1136) 让iphone知道这个应用程序可以在iphone5上运行

于 2013-04-04T05:26:43.023 回答
0

为此,您必须在创建UIWebView时添加一个条件,

CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
    UIWebView *aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
}
else if(result.height == 568)
{
  UIWebView *aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 568)];
}

此条件检查屏幕大小。希望这可以帮助 !!:)

于 2013-04-04T05:28:32.983 回答
0

查找是否为 iPhone5

#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)

定义高度

#define iPhoneScreenHeight   (([[UIScreen mainScreen] bounds].size.height-568)?480:568)
于 2013-04-04T08:46:53.200 回答