2013-04-04 116 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) 
相关问题