我正在创建ipad应用程序。它只有2个视图。 一个视图几乎没有按钮。点击一个按钮,它将打开另一个视图。此视图具有显示PDF文件的webview。我正在使用以下代码来显示PDF
- (void)viewDidLoad {
[super viewDidLoad];
NSString* path = [[NSBundle mainBundle] pathForResource:@"mypdf" ofType:@"pdf"];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
}
现在的问题是,当我改变方向时,整个视图都在旋转,但是pdf受到干扰并且无法正确渲染。我怎么能避免这个?
由于PDF有250页,因此在willRotateToInterfaceOrientation和didRotateFromInterfaceOrientation上重新加载整个PDF会延迟显示。
如何避免这种情况。
答案 0 :(得分:1)
必须有一种方法可以更好地避免/修复此问题,现在我只需阅读y滚动位置:
int scrollPosition = [[webView stringByEvaluatingJavaScriptFromString:@"window.pageYOffset"] intValue];
然后重新加载文档:
(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;
然后再次使用:
设置滚动位置 [webView stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat:@"scrollTo(0,%d)",scrollPosition];