UIWebView屏幕拟合问题

时间:2015-06-08 22:29:50

标签: ios objective-c iphone twitter-bootstrap uiwebview

我在Twitter Bootstrap开发了一个网站,我现在使用UIWebView在IOS应用中显示该网站。我得到它显示正常,但屏幕关闭,它正在屏幕的一侧运行...我觉得我可能有我的UIWebView配置错误,该网站看起来像我在Safari上去它我的移动设备,所以我知道网站运行正常。

它甚至在UIWebView中显示Google错误....我将在下面显示我的代码和2个屏幕截图(第一个屏幕截图是它当前的样子,第二个是它应该是什么样子以及它看起来像什么safari mobile:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (strong, nonatomic) IBOutlet UIWebView *webView;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

[_webView loadRequest:request];
_webView.scalesPageToFit = YES;
_webView.frame=self.view.bounds;

[_webView loadRequest:request];
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

AS-IS屏幕截图

AS-IS Screenshot

TO-BE屏幕截图

To-Be Screenshot

4 个答案:

答案 0 :(得分:2)

无需使用loadRequest:两次,使用:

- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    [_webView reload];
}

答案 1 :(得分:1)

对我来说,看起来在Storyboard或Interface Builder中没有正确设置UIWebView。你使用Auto Layout吗?如果是这样,约束是否设置正确?

确保UIWebView全屏显示的一种简单方法是添加4个约束,使其与超级视图的顶部,底部,前端和后端对齐,例如:像这样:

enter image description here

编辑:Here are some rough instructions了解如何添加这些约束。

答案 2 :(得分:0)

您应该在[_webView loadRequest:request];之后添加以下代码:

_webView.scalesPageToFit = YES;

如果您的UIWebView找不到正确,请添加以下代码:

_webView.frame=self.view.bounds;

答案 3 :(得分:0)

在“工具”窗格中,选择“#34;缩放页面以适应&#34;:

desc

在Web视图所在的视图控制器中,请确保您可以查看视图的框(或边界)(注意:底部不会显示,因为我无法将其放入图像):

desc2

视图控制器中的代码:

setClosable(true);

视图控制器中其他设置的照片:

desc3