如何使iOS UIWebView正确显示移动网站?
我是iOS应用程序开发的新手,我只是尝试使用UIWebView在我的应用程序中显示移动网站,并不是很成功。
我所做的只是一些简单的Xcode项目configuration和编码,我在一些Googlesearch过程中发现:
-
使用
Single View Application
模板在Xcode中创build一个新的iOS应用程序项目。 -
将Web视图从
Object Library
Main.storyboard
的View Controller
场景中。 -
按住Control键的同时,将Web视图从
View Controller
场景拖到ViewController.h
编辑器,产生如下的源代码行:@property (weak, nonatomic) IBOutlet UIWebView *myWebView;
-
在ViewController.m中添加下面的代码:
- (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]]; }
这就是我所做的(也包括那些教程告诉我的)。 在我构build并运行应用程序(在模拟器和真正的iPhone设备上)后,网站确实加载了应用程序的视图(并且加载了移动版本而不是PC版本),但是它显示的网站好像视图很多大于实际的iPhone屏幕。 这里是一个screeshot(亚马逊在这种情况下,但其他网站基本相同):
我应该怎么做才能使iOS UIWebView正确显示移动网站?
刚刚尝试Dipen Chudasama关于禁用“用户大小类”选项的build议,所有这些build议的第一次,结果确实有点改变(从左alignment到中心alignmentsorting),但仍然不是我自己寻找。 这是截图:
编辑 :
感谢您热心的人提供的所有build议。 在UIWebView中加载像amazon.com这样的网站应该是一件相当容易的事情,据我所知,然而,我没有成功的提出任何build议。
如果有人能够通过Github或者类似的方式与我分享一个简单的xcode项目(从最新版本的xcode工具链开始),只需要一个可以正确加载amazon.com的UIWebView就可以了。 这样我可以做一行一行的差异,并可能能够find我在我自己的项目中做错了。
UIWebView有一个名为“scalesPageToFit”的属性:
self.myWebView.scalesPageToFit = YES; self.myWebView.contentMode = UIViewContentModeScaleAspectFit;
应该做的伎俩。
您可以通过此UIWebview
属性来缩放页面以适合屏幕宽度UIWebview
webView.scalesPageToFit = YES;
否则,您可以在UIWebView
运行一个js命令来执行该比例:
NSString *js = [NSString stringWithFormat:@"document.body.style.zoom = 0.8;"]; [webView stringByEvaluatingJavaScriptFromString:js];
我知道了..你只是设置故事板iPhone大小的观点,而不是任何大小,意味着禁用使用大小类checkbox,看看,这将工作.. 🙂
- (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.
我有同样的问题,你@goodbyeera,然后意识到我没有设置UIWebView
的AutoLayout
约束。 所以当WebView
加载的时候对于iphone屏幕来说太大了。 通过添加约束来适应UIWebView
到屏幕固定它。 希望这可以帮助你。
- iOS 6的js事件function不调用,如果有setTimeout在其中
- 修复iOS Safari的“deviceorientation”事件不规范?
- 从UIScript中的pageScroll发生的Jscript中获取标签和值
- 如果用户在iOS设备上,隐藏HTML元素?
- 在iPhone 3GS和iPhone 4上embeddedMobile Safari的HTML5video
- 阻止iframe中的链接导航/接pipecordova webview,特别是在ios中
- `-webkit-overflow-scrolling:touch`在iOS7中最初被closures的元素
- 如何确定HTML5video播放器何时进入iOS / iPad上的全屏模式?
- PhoneGap中的HTML5 SQLite与本地数据库