2013-04-04 113 views
0

我正在構建一個僅僅是UIWebView的iPhone應用程序。當我嘗試在手機上運行此應用程序時,屏幕頂部和底部會出現一個大的黑條。我相信因爲它是針對較小的屏幕而優化的。儘管如此,我的iPhone 5並不是最佳的。如何根據iPhone的屏幕大小更改UIWebView?

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

enter image description here

這裏是我的廈門國際銀行文件的截圖。 enter image description here

+0

不居中的網頁視圖。設置框架像'webview.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height);' – Venkat 2013-04-04 05:26:33

+0

它不是webview的問題,你的窗口本身的問題增加和遵循添加山峯獅子的代碼 – Spynet 2013-04-04 05:26:46

回答

1

兩件事情可以做:

1)設置的iPhone 5特定的默認(閃)屏(由克里斯列出的[email protected]文件... +1給他)

2)使用自動佈局並確保您的webview在窗口/容器視圖的頂部和底部邊緣之間具有零寬度。

您可以通過檢查該複選框,把它在你的故事板或XIB:

enter image description here

+0

我是新來的xcode。我如何設置自動佈局? – sharataka 2013-04-04 05:25:51

+0

我已經包括我的xib的自動佈局檢查截圖。當我在手機上查看應用程序時,我仍然面臨同樣的問題。 – sharataka 2013-04-04 05:44:00

3

首先,添加一個名爲[email protected]到項目的默認圖像。這將消除iPhone 5上的黑條。然後,要更改每個屏幕的網頁視圖大小,請在右窗格中的界面生成器中單擊標尺圖標,然後在窗格的左下角更改設置它看起來像這樣(假設自動版式關閉)

enter image description here

如果你不使用IB,做什麼@Dilip寫道。

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]; 
    } 

而且你要添加一個[email protected](640×1136),使iphone知道,這個程序可以在iPhone5的

+2

好的答案+1 .... – 2013-04-04 05:29:28

+0

我在哪裏包含這段代碼?我在viewcontroller.m中只有一個 - (void)viewDidLoad方法。而且我還不清楚如何更改網頁視圖大小。 – sharataka 2013-04-04 05:30:19

+0

你必須在' - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil '方法中添加此代碼。 – Dilip 2013-04-04 05:31:15

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)]; 
} 

這種情況檢查的屏幕尺寸。希望這可以幫助 !! :)

0

找到,如果它的iPhone5

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

定義高度

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