문제

UIWebView를 사용하여 도움말 파일을 표시하는 앱에서 작업하고 있습니다. WebView는 그 자체의 관점에서 DocViewController ...

- (void)viewDidLoad {

방법 사용

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:   [[NSBundle mainBundle] pathForResource:docPage ofType:@"html"]isDirectory:NO]]];

적절한 문서 페이지를로드하려면. 그러나 첫 페이지가로드되면 뷰가 정적이되고 Docpage가 변경되고보기가 전환 될 때 새 페이지가로드되지 않습니다. 요청시 새 페이지를로드하여 웹 뷰를 지우는 방법이 있습니까?

편집하다:
첫 번째 대답은 나에게 혼란 스럽습니다. 아래의 일상과 마찬가지로 작품. 그것은 단지 작동하는 것입니다 한 번. 보기가 처음로드 된 후이 뷰가 다시 전환되고 요청 된 HTML 페이지가 다를 때 변경되지 않습니다. 보기는 항상 요청 된 첫 번째 HTML 페이지를 표시하며 새 요청을로드하지 않습니다.

 - (void)viewDidLoad {

     docPage = [NSString stringWithFormat: @"%d", hexpage];

     [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[NSBundle mainBundle] pathForResource:docPage ofType:@"html"]isDirectory:NO]]];

 }
도움이 되었습니까?

해결책

viewDidLoad 보기가 릴리스되고 다시로드되지 않으면 한 번만 호출됩니다. 이것은 일반적으로보기 컨트롤러가 메모리 경고가 낮은 경우에만 발생합니다. 대신에 viewDidLoad, 해당 코드를 넣으십시오 viewWillAppear:,보기가 화면에 표시 될 때마다 호출됩니다.

다른 팁

사용해보십시오

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL

nsurl 객체를 html을 baseurl로 함유 한 Dir에 전달하고 HTML 문자열을 다음과 같이로드

NSString *path = [[NSBundle mainBundle] pathForResource:@"myfile" 
                                                 ofType:@"html"];
NSString *html = [NSString stringWithContentsOfFile:path 
                                           encoding:NSUTF8StringEncoding
                                              error:nil];

편집 : 또한 하이퍼 링크가 Target = "_ blank"와 같은 새 창에서 열려고하지 않도록하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top