私のアプリでは、UIWebviews を使用して 1 ページの PDF を表示します。iOS5 では、デフォルトのズーム レベルがドキュメント全体を表示することであることに気付きました。
UIWebview のズーム レベルをプログラムで設定することは可能ですか?
* QLPreviewController も試してみましたが、これと同じデフォルトのズームアウト動作に気付きました
私のアプリでは、UIWebviews を使用して 1 ページの PDF を表示します。iOS5 では、デフォルトのズーム レベルがドキュメント全体を表示することであることに気付きました。
UIWebview のズーム レベルをプログラムで設定することは可能ですか?
* QLPreviewController も試してみましたが、これと同じデフォルトのズームアウト動作に気付きました
ちょうどzoomScaleの設定で同じ問題が発生し、webViewに表示される応答がありません。私の間違いは、webViewDidFinishLoad:で設定を試すことでした。解決策は、viewDidAppearを使用することです。
-(void)viewDidAppear:(BOOL)animated{
[self.webView.scrollView setZoomScale:1.5 animated:YES];
}
webviews サブビューをループしてスクロールビューをズームすることで、最終的にそこにたどり着きました。
for (UIView *subView in [self.view subviews]) {
if ([subView isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView *)subView;
[scrollView setZoomScale:2.5f animated:YES];
}
}
ズームしようとする前に、webview が画面にレンダリングされるのを待つ必要があることに注意することが重要です。これは私を捕まえました;-\
あなたが使用することができます
webView.scalesPageToFit = NO
[webView stringByEvaluatingJavaScriptFromString:@"document. body.style.zoom = 5.0;"];