我正在尝试使用设备的整个屏幕在UIWebview中显示pdf。我有一个在iPad上运行的xcode应用程序。我有一个滚动视图滚动pdf页面UIWebview是uiscrollview的子视图。 PDF可以从互联网上下载,没有任何问题, 目前,PDF在显示时仅在纵向模式下使用uiwebview屏幕的最上半部分。我需要它来跨越UIWebview的整个视图。
NSString * strPageURL = [dictPage valueForKey:@“link”];
strPageURL = [strPageURL stringByReplacingOccurrencesOfString:@"\n" withString:@""];
strPageURL = [strPageURL stringByReplacingOccurrencesOfString:@"\t" withString:@""];
strPageURL = [strPageURL stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString* strFileName = [strPageURL lastPathComponent];
NSString *strDestFile = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/%@",strFileName]];
CGRect rect = CGRectMake(xPos, 0, scrollView.frame.size.width, scrollView.frame.size.height);
UIWebView * webView = [[UIWebView alloc] initWithFrame:rect];
webView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
[webView setContentMode:UIViewContentModeScaleAspectFit];
[webView setScalesPageToFit:YES];
webView.backgroundColor = [UIColor whiteColor];
webView.tag=3000+i;
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:strDestFile];
if(fileExists)
{
NSURL *url = [[NSURL alloc] initFileURLWithPath:strDestFile];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
[webView setDelegate:self];
[scrollView addSubview:webView];
}
答案 0 :(得分:1)
UIWebView
内置了UIScrollView
,因此您实际上无需手动管理此内容。
您只需将PDF加载到UIWebView
中,它就会自动以正确的形式显示。
您可以通过您的网址请求执行此操作:
//first create the webview
UIWebView *theWebView = [[UIWebView alloc] initWithFrame:[self.view bounds]];
[theWebView setContentMode:UIViewContentModeScaleAspectFit];
[theWebView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
[theWebView setScalesPageToFit:YES];
//then load the correct file
NSString *filePath = [[NSBundle mainBundle] pathForResource:YOURFILENAME ofType:YOURFILETYPE];
NSURL *filePathURL = [NSURL fileURLWithPath:filePath];
[theWebView loadRequest:[NSURLRequest requestWithURL:filePathURL]];
//then add to your view
[self.view addSubview:theWebView];
YOURFILENAME
和YOURFILETYPE
显然会被您自己的代码替换。
如果它在到达横向时仍然没有调整大小,你可能需要在自动旋转方法中添加一些代码来手动调整大小 - 尽管setAutoresizingMask行应该为你处理它。
答案 1 :(得分:0)
我认为您不必使用ScrollView。只需添加Web视图即可。单击XCode Storyboard(或xib文件)中的Web View。在右侧栏中,转到“属性检查器”(参见附带的屏幕截图)。选中“缩放页面以适合”。