我想在我的子视图中将PDF加载到导航堆栈之前加载PDF。现在,UIWebview加载PDF文件时会有短暂的延迟。我想要的是加载PDF,以便它随着视图滑到屏幕上。
我尝试像下面那样自定义initWithNib方法但是没有任何加载。我的想法是“如果我在初始化期间启动PDF加载,那么当我去推送它时它就会准备就绪。”猜不是。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:pdfURL ofType:@"pdf"];
NSURL *fileURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
[webView loadRequest:request];
}
return self;
}
这是我目前的实施:
在父视图中,我使用以下命令初始化pdfViewer:
PDFViewerVC *vc = [[PDFViewerVC alloc]initWithNibName:@"PDFViewerVC" bundle:nil];
vc.pdfURL = @"Service Manual RS20";
vc.title = [self.list objectAtIndex:row];
[self.navigationController pushViewController:vc animated:YES];
[vc release];
在pdfViewer中我使用以下方法加载PDF:
-(void)viewDidLoad{
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:pdfURL ofType:@"pdf"];
NSURL *fileURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
[webView loadRequest:request];
[super viewDidLoad];
}
感谢。
答案 0 :(得分:0)
你对UIWebView的了解不多,你需要更深入地使用Quartz。 当然,这意味着你需要复制很多UIWebView。
检查Apple的ZoomingPDFViewer是一个简单的例子。 http://developer.apple.com/library/ios/#samplecode/ZoomingPDFViewer/Introduction/Intro.html
答案 1 :(得分:0)
尝试等待直到UIWebView的webViewDidFinishLoad:
委托方法被调用,然后再将其视图控制器推送到导航堆栈。