iOS webView 截图

2017-04-14  本文已影响315人  萧城x

<pre>

pragma mark ------------------------------------------------------- save -------------------------------------------------

-(UIButton *)saveBtn
{
if (!_saveBtn) {
_saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_saveBtn setTitle:@"保存" forState:UIControlStateNormal];
[_saveBtn sizeToFit];
[_saveBtn addTarget:self action:@selector(saveTapped) forControlEvents:UIControlEventTouchUpInside];
}
return _saveBtn;
}

/*

*/
-(void)saveTapped
{
__block NSString *hStr =@"";
__block NSString *wtStr = @"";

[self.webView evaluateJavaScript:@"document.body.scrollHeight;" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
    NSLog(@"response: %@ error: %@", response, error);
    hStr = response;
    [self.webView evaluateJavaScript:@"document.body.scrollWidth;" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
        NSLog(@"response: %@ error: %@", response, error);
        wtStr = response;
        
        self.webView.frame=CGRectMake(0, 0, [wtStr floatValue], [hStr floatValue]);
        UIGraphicsBeginImageContext(CGSizeMake(self.webView.frame.size.width,self.webView.frame.size.height));
        CGContextRef ctx = UIGraphicsGetCurrentContext();
        [self.webView.layer renderInContext:ctx];
        UIImage *finalimage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        UIImageView *imaegview = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 100, 600)];
        imaegview.image = finalimage;
        imaegview.contentMode = UIViewContentModeScaleToFill;
        [self.view addSubview:imaegview];
    }];
}];

}
</pre>

上一篇下一篇

猜你喜欢

热点阅读