簡體   English   中英

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

[英]How do I change UIWebView depending on screen size of iPhone?

我正在構建一個只是UIWebView的iPhone應用程序。 當我嘗試在手機上運行該應用程序時,在屏幕頂部和底部都出現了一個大的黑條。 我相信這是因為它已針對較小的屏幕進行了優化。 但是在我的iPhone 5上,它並不是最佳選擇。

如何根據iPhone的類型(屏幕尺寸)更改UIWebView的尺寸?

在此處輸入圖片說明

這是我的xib文件的屏幕截圖。 在此處輸入圖片說明

首先,向您的項目添加一個名為Default-568h@2x.png的默認圖像。 這消除了iPhone 5上的黑條。然后,要更改每個屏幕的Web視圖大小,請在右窗格的界面生成器中,單擊標尺圖標,然后在窗格的左下方,更改設置,以便它看起來像這樣(假設自動布局已關閉)

在此處輸入圖片說明

如果您不使用IB,請執行@Dilip編寫的操作。

您可以做兩件事:

1)設置iPhone 5特定的默認(啟動)屏幕(克里斯列出的Default-568h@2x.png文件... +1給他)

2)使用自動版式,並確保您的Web視圖在窗口/容器視圖的頂部和底部邊緣之間的寬度為零。

您可以通過選中以下復選框在情節提要或XIB中將其打開:

在此處輸入圖片說明

根據設備大小更改您的網絡視圖大小。

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

為此,您必須在創建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)];
}

此條件檢查屏幕尺寸。 希望這可以幫助 !! :)

查看其iPhone5是否

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

定義高度

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM