リソースバンドルから UIWebView に PDF ファイルをロードしました。
現在、PDF ファイルをズーム/ピンチできません。
以下の 2 つの関連リンクを見つけましたが、どの回答も正しいとマークされていません -
リソースバンドルからUIWebViewにロードされたPDFをズーム可能/ピンチ可能にする方法、以下のソリューションは機能しますか?
ご協力いただきありがとうございます。
リソースバンドルから UIWebView に PDF ファイルをロードしました。
現在、PDF ファイルをズーム/ピンチできません。
以下の 2 つの関連リンクを見つけましたが、どの回答も正しいとマークされていません -
リソースバンドルからUIWebViewにロードされたPDFをズーム可能/ピンチ可能にする方法、以下のソリューションは機能しますか?
ご協力いただきありがとうございます。
Interface BuilderのWebViewで、ページに合わせて拡大縮小するチェックを追加し、ピンチズームインズームアウトを有効にします;)
または、PDF をより良くしたい場合は、次のコードを見てください。
- (void)viewDidLoad
{
[super viewDidLoad];
[webView loadRequest:[NSURLRequest requestWithURL:@"http:pdfURL"]];
NSString *path = [[NSBundle mainBundle] pathForResource:@"yourPDFFile" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
//--------------AND HERE USE SCALE PAGE TO FIT------------------//
[webView setScalesPageToFit:YES];
}
これがお役に立てば幸いです。
//このようにしてみてください
NSString *urlstr=@"www.example.com/yy.pdf";
web=nil;
web=[[UIWebView alloc] initWithFrame:CGRectMake(0, 98, 320, 367)];
web.delegate=self;
[self.view addSubview:web];
[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlstr]]];
UIPinchGestureRecognizer *pgr = [[UIPinchGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePinch:)];
pgr.delegate = self;
[web addGestureRecognizer:pgr];
// ターゲット アクション
- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer
{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
}
この前に、UIGestureRecognizerDelegate を .h に追加します。それがあなたを助けることを願っています..
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:documentsDirectory])
{
NSURL *url = [NSURL fileURLWithPath:strFileName];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView setScalesPageToFit:YES];
[webview loadRequest:request];
}