如何使iOS UIWebView正确显示移动网站?
我是iOS应用程序开发新手,我刚刚尝试使用UIWebView在我的应用程序中显示一个移动网站,但并不十分成功 我所做的只是在谷歌搜索过程中发现的一些最小的Xcode项目配置和编码:如何使iOS UIWebView正确显示移动网站?,ios,iphone,xcode,html,uiwebview,Ios,Iphone,Xcode,Html,Uiwebview,我是iOS应用程序开发新手,我刚刚尝试使用UIWebView在我的应用程序中显示一个移动网站,但并不十分成功 我所做的只是在谷歌搜索过程中发现的一些最小的Xcode项目配置和编码: 使用单一视图在Xcode中创建一个新的iOS应用程序项目 应用程序模板 将Web视图从对象库拖动到视图控制器 Main.storyboard的场景 按住Control键的同时,从视图中拖动Web视图 控制器场景切换到ViewController.h编辑器,生成一个 源代码行如下所示: @property (weak,
单一视图在Xcode中创建一个新的iOS应用程序项目
应用程序
模板对象库
拖动到视图控制器
Main.storyboard
的场景视图中拖动Web视图
控制器
场景切换到ViewController.h
编辑器,生成一个
源代码行如下所示:
@property (weak, nonatomic) IBOutlet UIWebView *myWebView;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSURL *url = [NSURL URLWithString:@"http://www.amazon.com"];
[self.myWebView loadRequest:[NSURLRequest requestWithURL:url]];
}
刚刚尝试了Dipen Chudasama关于禁用“用户大小类”选项的建议,这是所有建议中的第一次,结果确实发生了一些变化(从左对齐到某种中心对齐),但仍然不是我想要的。以下是截图:
编辑: 谢谢你们热情的人们提出的所有建议。据我所知,在UIWebView中加载像amazon.com这样的网站应该是一项相当简单的任务,然而,我没有成功地提出任何建议
如果有人能(通过Github或类似的方式)与我分享一个示例xcode项目(从零开始,使用最新版本的xcode工具链),除了可以正确加载amazon.com的UIWebView之外什么都没有,那就太好了。这样,我就可以逐行进行区分,并可能找到我在自己的项目中做错的地方。您可以使用此
UIWebview
属性webView.scalesPageToFit=YES代码>
否则,您可以在UIWebView
中运行js命令进行缩放:
NSString *js = [NSString stringWithFormat:@"document.body.style.zoom = 0.8;"];
[webView stringByEvaluatingJavaScriptFromString:js];
UIWebView有一个名为“scalesPageToFit”的属性:
应该可以了。我明白了。您只需在情节提要中设置iPhone大小视图,而不是任何大小,意味着禁用使用大小类复选框,然后查看,这将起作用。;)
或
you have to set appropriate constraint for this.
我与您@goodbyeera遇到了相同的问题,然后意识到我没有在UIWebView
上设置AutoLayout
约束。因此,当WebView
加载时,它对于iphone屏幕来说太大了。通过添加约束以使UIWebView
适合屏幕,修复了所有问题。希望这可能会对您有所帮助。使用另一种方法编辑了我的答案。将webview委托设置为self并实现此委托方法-(BOOL)webview:(UIWebView*)webview shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{webView.scalesPageToFit=YES;//在此处设置返回YES;}
尝试了上面的建议,结果仍然相同。您在哪里设置了web视图框架?或者在故事板中设置了什么框架?@DipenChudasama我曾经尝试在viewdiload()中将self.view.frame
分配给self.myWebView.frame
)
,但结果是相同的请看我的答案并尝试一下。刚刚尝试了这个建议,结果是一样的。我得到了。你只需在故事板中设置iPhone 5大小视图,而不是任何大小,意味着禁用使用大小类复选框,然后查看,这将起作用。谢谢你的建议。请查看我对tr结果原始问题的编辑给出你的建议。现在我想看看你的更新代码。你对代码做了任何更改吗?我尝试了所有的组合:有和没有设置web视图框架,有和没有设置scalesPageToFit。这个的Swift版本?
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"http://www.amazon.com"];
[self.myWebView loadRequest:[NSURLRequest requestWithURL:url]];
}
Thats it, Try this one only.
you have to set appropriate constraint for this.