type 如何使iOS UIWebView正確顯示移動網站?




xcode webview https (4)

您可以通過此UIWebview屬性縮放頁面以適合屏幕寬度UIWebview webView.scalesPageToFit = YES;

否則,您可以在UIWebView運行一個js命令來執行該比例:

NSString *js = [NSString stringWithFormat:@"document.body.style.zoom = 0.8;"];
[webView stringByEvaluatingJavaScriptFromString:js];

我是iOS應用程序開發的新手,我只是嘗試使用UIWebView在我的應用程序中顯示移動網站,並不是很成功。

我所做的只是一些簡單的Xcode項目配置和編碼,我在一些Google搜索過程中發現:

  1. 使用Single View Application模板在Xcode中創建一個新的iOS應用程序項目。

  2. Web視圖從對像Object Library Main.storyboardView Controller場景中。

  3. 按住Control鍵的同時,將Web視圖View Controller場景拖到ViewController.h編輯器,產生如下的源代碼行:

    @property (weak, nonatomic) IBOutlet UIWebView *myWebView;
  4. 在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]];
    }

這就是我所做的(也包括那些教程告訴我的)。 在我構建並運行應用程序(在模擬器和真正的iphone設備上)之後,網站確實加載了應用程序的視圖(並且加載了移動版本而不是PC版本),但是它顯示的網站好像視圖很多大於實際的iPhone屏幕。 這裡是一個screeshot(亞馬遜在這種情況下,但其他網站基本相同):

我應該怎麼做才能使iOS UIWebView正確顯示移動網站?

剛剛嘗試Dipen Chudasama關於禁用“用戶大小類”選項的建議,所有這些建議的第一次,結果確實改變了一點點(從左對齊到中心對齊排序),但仍然不是我尋找。 這是截圖:

編輯

感謝您熱心的人提供的所有建議。 在UIWebView中加載像amazon.com這樣的網站應該是一件相當容易的事情,據我所知,然而,我沒有成功的任何建議。

如果有人能夠通過Github或者類似的方式與我分享一個簡單的xcode項目(從最新版本的xcode工具鏈開始),只需要一個可以正確加載amazon.com的UIWebView就可以了。 這樣我可以做一行一行的差異,並可能能夠找到我在我自己的項目中做錯了。


我有同樣的問題,你@goodbyeera,然後意識到我沒有設置UIWebViewAutoLayout約束。 所以當WebView加載的時候對於iphone屏幕來說太大了。 通過添加約束來適應UIWebView到屏幕固定它。 希望這可以幫助你。


UIWebView有一個名為“scalesPageToFit”的屬性:

self.myWebView.scalesPageToFit = YES;
self.myWebView.contentMode = UIViewContentModeScaleAspectFit;

應該做的伎倆。


我知道了..你只是設置故事板iPhone大小的觀點,而不是任何大小,意味著禁用使用大小類複選框,看看,這將工作.. :)

- (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.






uiwebview