Logika ini untuk memperbesar UIWebView, tidak perlu menambahkan UIWebView di UIScrollView
Satu-satunya masalah webView.scalesPageToFit = YES;adalah itu, itu akan mengubah konten awal ukuran font tetapi saya menemukan opsi lain
Tambahkan <UIWebViewDelegate, UIScrollViewDelegate>ke file .h Anda
Kreasi Anda UIWebView.
self.mWebview = [[UIWebView alloc] init];
self.mWebview.delegate = self; /// set delegate method of UIWebView
self.mWebview.frame = CGRectMake(0, 35, self.view.bounds.size.width, self.view.bounds.size.height - 80); // set frame whatever you want..
[self.mWebview setOpaque:NO];
self.mWebview.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.mWebview];
Dengan memuat file / konten HTML.
NSString* htmlString = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"File Name"ofType:@"html"] encoding:NSUTF8StringEncoding error:nil];
[self.mWebview loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
#pragma mark -
#pragma mark - Webview Delegate Methods
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
webView.scrollView.delegate = self; // set delegate method of UISrollView
webView.scrollView.maximumZoomScale = 20; // set as you want.
webView.scrollView.minimumZoomScale = 1; // set as you want.
//// Below two line is for iOS 6, If your app only supported iOS 7 then no need to write this.
webView.scrollView.zoomScale = 2;
webView.scrollView.zoomScale = 1;
}
#pragma mark -
#pragma mark - UIScrollView Delegate Methods
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
self.mWebview.scrollView.maximumZoomScale = 20; // set similar to previous.
}
CATATAN: Saya harus menguji pada Mac OS X - 10.9.3 dengan Xcode 5.1.1 dan iOS versi 6.1 dan yang terakhir.
ScrollViewDidEndZooming tidak diperlukan agar saya dapat melakukan zooming dengan benar. Tidak yakin apa maksud kode itu karena hanya menyetel ulang nilai yang sama yang ditetapkan sebelumnya ke nilai yang sama persis!
Norman H
1
Ya tepatnya, mengapa bagian scrollViewDidEndZooming diperlukan? Tapi selain itu, jawaban yang luar biasa. Itu bahkan membuat halaman-halaman itu diperbesar yang tidak diperbesar hanya dengan mengatur properti "Scales page to fit".
GKK
25
Saya tahu pertanyaan ini cukup lama, tetapi untuk semua orang yang menggunakan papan cerita dan lebih memilih jawaban visual ini dia. Cukup centang kotak ini di Atribut Inspektur WebView:
Anda dapat menggunakan secara
webView.scalesPageToFit=YES;
terprogramJika Anda menggunakan di xib daripada hanya
click the check box "Scaling" scales Page to fit
sumber
Satu-satunya masalah
webView.scalesPageToFit = YES;
adalah itu, itu akan mengubah konten awal ukuran font tetapi saya menemukan opsi lainTambahkan
<UIWebViewDelegate, UIScrollViewDelegate>
ke file .h AndaKreasi Anda
UIWebView.
Dengan memuat file / konten HTML.
Saya harap ini akan membantu Anda. :)
sumber
Saya tahu pertanyaan ini cukup lama, tetapi untuk semua orang yang menggunakan papan cerita dan lebih memilih jawaban visual ini dia. Cukup centang kotak ini di Atribut Inspektur WebView:
sumber
Jika Anda ingin melakukannya secara terprogram maka gunakan
Jika Anda menggunakan storyboard maka Anda harus mencentang kotak "Scaling" menskalakan Halaman agar sesuai
sumber
Anda HARUS menyetel scalePageToFit = YES untuk melakukan pinching dan zooming apa pun agar bekerja pada UIWebView. Ini bekerja untuk saya.
sumber