WKWebView HTML 코드 로드 자체 스타일 지정 화면 추가

1732 단어
백그라운드에서 되돌아오는 HTML 코드가 휴대전화에 직접 나타나는 것은 보기 싫기 때문에 화면에 맞게 스타일을 추가할 수 밖에 없다. 아래의 방법은 문자와 그림의 크기를 조절해서 화면에 맞게 할 수 있다.
    - (NSString *)reSizeImageWithHTML:(NSString *)html {
        return [NSString stringWithFormat:@"%@", SCREEN_WIDTH - 20, html];
    }

WKNavigationDelegate를 따라 WKWebView에서 데이터를 로드한 후 일부 작업을 수행합니다.예를 들어 scrollow 내용의 높이를 조정해야 한다
- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation{
    __block typeof(self) weakSelf = self;
    [webView evaluateJavaScript:@"document.body.scrollHeight" completionHandler:^(id _Nullable value, NSError * _Nullable error) {
        CGFloat height = [value floatValue];
        CGRect rect = weakSelf.webView.frame;
        rect.size.height = height;
        weakSelf.webView.frame = rect;
        weakSelf.backgroundView.contentSize = CGSizeMake(0, CGRectGetMaxY(self.webView.frame));
    }];
}

동시에 웹뷰를 축소할 수 없고 내용을 웹뷰에서 위아래로 좌우로 스크롤할 수 없습니다. 설정하십시오
 _webView.scrollView.delegate = self;
 _webView.scrollView.scrollEnabled = NO;

이렇게 하면 이 페이지를 떠날 때 프로그램이 붕괴됩니다.이 때 페이지를 삭제할 때 다음과 같은 조작을 해야 한다
- (void)dealloc
{
    self.webView.scrollView.delegate = nil;
}

viewDidLoad에 웹뷰 설정 에이전트를 넣었습니다. dealloc에서 에이전트를 비워 두었습니다.viewWillAppear에 설정하면 디스패치에 비워 두십시오.did Appear는 같은 이치이다.

좋은 웹페이지 즐겨찾기