如何根据iPhone的屏幕尺寸更改UIWebView?

时间:2013-04-04 05:21:59

标签: iphone objective-c xcode

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

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

enter image description here

以下是我的xib文件的屏幕截图。 enter image description here

5 个答案:

答案 0 :(得分:3)

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

enter image description here

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

答案 1 :(得分:1)

你可以做两件事:

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

2)使用autolayout并确保您的webview在窗口/容器视图的顶部和底部边缘之间的宽度为零。

您可以通过选中此复选框在故事板或XIB中打开它:

enter image description here

答案 2 :(得分:0)

根据设备大小更改网页浏览量。

    - (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上运行

答案 3 :(得分: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)];
}

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

答案 4 :(得分:0)

查找iPhone5

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

定义高度

#define iPhoneScreenHeight   (([[UIScreen mainScreen] bounds].size.height-568)?480:568)