[英]How to control page display to PDF loaded in UIWebView for iOS (go to page)
[英]How can i keep current page until the next page is fully loaded( ios UIWebview)
我有一个基于UIWebview
的应用程序,当用户单击URL时,默认行为是立即显示空白页面并保持等待状态,直到页面加载UIWebview
是否可以保留当前页面直到下一页加载?
感谢前进。
我对这种功能的必要性感到好奇,我也许会同意钱德拉•瓦加西亚 ( Chandra Vaghasiya )的评论 。
话虽如此,这是可能的。
UIWebView
的委托。 webViewDidStartLoad:
方法中,拍摄Web视图的快照,并将结果视图添加到视图层次结构中Web视图上方。 webViewDidFinishLoad:
和webView:didFailLoadWithError:
方法中,仅隐藏快照视图。 示例代码:
@interface ViewController () <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (nonatomic, strong) UIView *snapshotView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"https://google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
self.snapshotView = [self.webView snapshotViewAfterScreenUpdates:NO];
self.snapshotView.frame = self.webView.frame;
[self.view insertSubview:self.snapshotView
aboveSubview:self.webView];
self.snapshotView.hidden = NO;
// THIS IS JUST FOR DEMONSTRATION PURPOSES SO
// YOU CAN SEE THE LOADING HAPPENING BEHIND
// THE SNAPSHOT VIEW
self.snapshotView.alpha = 0.8;
NSLog(@"Display snapshot");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
self.snapshotView.hidden = YES;
NSLog(@"Hide snapshot");
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
self.snapshotView.hidden = YES;
NSLog(@"Hide snapshot due to error");
}
@end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.