У меня есть UIWebView с pdf файлом. Он работает нормально. Но как я могу включить масштабирование в pdf файле?
Включить масштабирование/усиление на UIWebView
Ответ 1
Убедитесь, что вы выбрали "Страница весов для соответствия"
Ответ 2
вы можете использовать webView.scalesPageToFit=YES;
программно
Если вы используете в xib, а не только click the check box "Scaling" scales Page to fit
Ответ 3
Эта логика для масштабирования UIWebView, нет необходимости добавлять UIWebView в UIScrollView
Ну, только проблема с webView.scalesPageToFit = YES;
заключается в том, что она изменит исходное содержимое шрифта, но я нашел другую опцию
Добавьте <UIWebViewDelegate, UIScrollViewDelegate>
в свой .h файл
Создание 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];
С загрузкой 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.
}
ПРИМЕЧАНИЕ. Мне пришлось протестировать Mac OS X - 10.9.3 с Xcode 5.1.1 и iOS версии 6.1 и последней.
Надеюсь, это поможет вам.:)
Ответ 4
Я знаю, что этот вопрос довольно старый, но для всех, кто использует раскадровку и предпочитает визуальный ответ здесь. Просто установите этот флажок в Инспекторе атрибутов WebView:
Ответ 5
Если вы хотите сделать программным путем, используйте
webView.scalesPageToFit = YES;
Если вы используете раскадровку, вам нужно поставить галочку в поле "Масштабирование" шкалы, чтобы она соответствовала
Ответ 6
Вы ДОЛЖНЫ установить scalesPageToFit = YES для любого сжатия и масштабирования для работы с UIWebView. Это работает для меня.