iPhone SDK : UIWebView
-
08-07-2019 - |
문제
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"와 같은 새 창에서 열려고하지 않도록하십시오.
제휴하지 않습니다 StackOverflow