2013-05-22 57 views
7

在iphone應用程序中,我有一個webview,其中我想要預覽從互聯網下載的某些圖像,我的問題是某些圖像未被視爲適合框架的webview,但大多數做。我認爲這是因爲這些圖像太大。難道我做錯了什麼?請幫忙UIWebView的屬性scalesPageToFit = YES在較大圖像上無法正常工作

我想要的只是在webview中加載圖像以適應webview的框架。您可以提供其他一些代碼,但需要關注webview而不是imageview。

這是我使用的代碼。

self.documentData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.folio3.com/corp/wp-content/uploads/2013/02/Entrance_A-3.jpg"]]; 
self.webView.scalesPageToFit = YES; 
[self.webView loadData:self.documentData MIMEType:@"image/jpeg" textEncodingName:@"utf-8" baseURL:nil]; 

加上這裏是輸出的屏幕截圖(清楚地顯示滾動指標,即圖像中沒有的WebView框架適合)Output Screenshot

+0

如果有人想要一個更好的答案,沿着與Ammar的相同的行:http://stackoverflow.com/a/4670989/1861181 – Morkrom

回答

0

嘗試使用HTML內容的WebView,如下面的代碼

<html> 
<head> 
    <title>Title</title> 
</head> 
<body style='margin:0px; padding:0px;'> 
    <img src='<your_image_url>' 
     style='max-width:320px; max-height:460px;' 
     alt='Your_Image_Name'/> 
</body> 
</html> 

重新大小的圖像使用CSS(層疊樣式表)的造型,在影像風格屬性,這些樣式屬性發揮

最大寬度,最小寬度,寬度,最大高度,最小高度&高度

+0

好的,但在iOS的這個地方呢?它是如何實現的? – Morkrom

4

首先檢查和viewDidLoad:像波紋管UIWebView設定框架..

webView.frame = self.view.frame; 

使用此代表方法並設置scalesPageToFit財產像波紋管..

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    webView.scalesPageToFit = YES;//set here 
    return YES; 
} 
+1

我試過這個,但仍然發生同樣的問題 – iMemon

+0

@iMemon看到這個答案,並試試這也http://stackoverflow.com/questions/2350135/uiwebview-wont-zoom-even-after-setting-scalespagetofit-to-yes :) –

1

這soluti建立在Ammar Hasan的回答之上。而不是原來的...

NSData *data = [NSData dataWithContentsOfURL:imageURL]; 
[self.webView loadData:data MIMEType:@"image/jpeg" textEncodingName:@"utf-8" baseURL:nil]; 

...你可以這樣做:

NSString *photoWrapper = [NSString stringWithFormat:@"\ 
<html>\n\ 
    <head>\n\ 
     <meta name=\"viewport\" content=\"width=device-width\" />\n\ 
     <style type=\"text/css\">\n\ 
      body {\n\ 
       margin: 0;\n\ 
       padding: 0;\n\ 
      }\n\ 
      img {\n\ 
       width: 100%%;\n\ 
      }\n\ 
     </style>\n\ 
    </head>\n\ 
    <body>\n\ 
     <img src=\"%@\" />\n\ 
    </body>\n\ 
</html>\ 
", URL]; 
[self.documentView loadHTMLString:photoWrapper baseURL:nil]; 

現在的圖像縮放到Web視圖的寬度,即使在Web視圖小於圖像寬度的一半,這似乎是UIWebView強加的限制。圖像仍然可以由用戶縮放,我想要的。您可以通過將minimum-scalemaximum-scale添加到視口元標記來覆蓋該視圖。

相關問題