如何让 WebView 在 iPhone/iPad Retina 中工作

Posted

技术标签:

【中文标题】如何让 WebView 在 iPhone/iPad Retina 中工作【英文标题】:How to Make WebView Work In iPhone/iPad Retina 【发布时间】:2013-10-04 04:09:24 【问题描述】:

我的 webview 代码有点问题。它完全适用于 iPhone 和 iPad 非视网膜版本,但无法使其适用于视网膜。

我在下面提供了我的代码...这里似乎有什么问题?

self.webView.delegate=self;
self.webView.scalesPageToFit = YES;
NSString *urlAddress = @"https://www.google.com/";

//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

//URL Request Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[webView1 loadRequest:requestObj];
[self.view addSubview:webView];

我是一个业余程序员,所以请原谅我。我已经进行了谷歌搜索,但未能找到答案,所以我在这里:)

编辑:抱歉,信息不完整。它不在 xib 或情节提要中。另外,我遇​​到的具体问题是在视网膜中时,webview 会立即打开和关闭,然后应用程序崩溃。不要介意崩溃,因为我明白它为什么会发生。我只是担心它在视网膜显示器上不起作用,即使它在非视网膜显示器上完全没问题。

我的原始代码是 webView.delegate=self;而不是 self.webView.delegate=self;... 我只是更改了它,因为我做了一些随机测试。 :/

【问题讨论】:

你遇到了什么问题? Web 视图是在您的 .xib 文件中还是动态创建的?如果它在您的 .xib 文件中,那么您不需要在视图中添加子视图。 加载不同的站点而不是google。它对我有用。 谢谢大家,我编辑了我的原始帖子并添加了我遇到的具体问题 【参考方案1】:

奇怪的是,您的代码在任何设备上都可以运行,因为您的 UIWebview 实例中存在错误。应该是这样 看看你在做什么的 addsubview 行。

self.webView.delegate=self;
self.webView.scalesPageToFit = YES;
NSString *urlAddress = @"https://www.google.com/";

//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

//URL Request Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[self.webView loadRequest:requestObj];
[self.view addSubview:self.webView];

【讨论】:

是的,感谢您指出这一点。我的原始代码只是 webview 而不是 self.webview。我改变了它,因为我尝试了一些不起作用的东西。我现在将 addsubview 更改为 self.webview @MattData : - 看看你的 loadRequest 行,它仍然是 webView1。用我的代码替换它,希望你的问题会得到解决。 我认为这不是问题,因为它们最初都没有“自我”。我只是在实验时添加了自我。感谢您的回复

以上是关于如何让 WebView 在 iPhone/iPad Retina 中工作的主要内容,如果未能解决你的问题,请参考以下文章

iPhone/iPad 数据使用跟踪

让iPhone/iPad/Mac瞬间死机

如何在单独的类中创建通用 Iphone/Ipad 应用程序?

如何使应用程序的设计与 iPhone4/iPhone5/iPad 兼容?有啥捷径吗?

如何在 UIPickerView 上添加 UIToolbar? (iPhone/iPad)

如何支持适用于 iPhone、iPad 和 iPad Mini 的 iOS 应用程序