我试图在第二个 VC 出现之前加载位于第二个 VC 上的 UIWebView,以减少加载时间延迟。
我尝试了许多不同的方法,但运气不佳。如果我直接从第二个 VC 加载它,我可以加载并显示 webview,但存在加载滞后。所以,目前我正在尝试在第一个 VC 中使用 -prepareForSegue 方法预加载 webview。加载发生时没有任何错误,并且 segue 按预期发生,但 web 视图为空白。
第二个 VC 上的 webview 称为 QRWebView。
这是第一个VC的代码:
- (IBAction)btnQRWebView:(id)sender {
[self performSegueWithIdentifier: @"segQRWebView" sender: self];
}
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"segQRWebView"])
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"Terminologyapp" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
QRWebViewController *qrview =segue.destinationViewController;
[qrview.QRWebView loadRequest:request];
}
}
来自第二个 VC 的代码只是在 viewDidLoad 方法中将 QRWebView.delegate 设置为 self。有什么建议吗?
我尝试使用委托协议来完成这项工作,但不确定如何将 QRWebView 设置为委托。