如何使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
到屏幕固定它。 希望这可以帮助你。
- iOSlogging了所有网页浏览器支持的video
- 苹果公司删除的可能性,只有在networking应用程序streamios 6 shoutcast&icecast?
- 如果Cookies被禁用,则iOS7无法访问HTML5 localStorage
- jqmobi。 在input字段集中的内容上移时,在ios(ipod)上
- 开始在Android和Safari设备上运行SpeechSynthesis API
- HTML5地理位置 – 无法在iOS上一直运行
- 允许在iFrame中缩放,但不在iOS中的页面上
- 当浏览器未聚焦时,允许HTML5networking应用访问位置(iOS)
- 在iPad上播放HTML5video并寻找