2012-08-14 6 views
2

인라인 스타일을 만들면 렌더링되지만 xCode 내의 동일한 그룹 및 디렉토리에서 CSS 파일을 참조하려고하면 렌더링되지 않습니다.ios - UIWebView에서 HTML로 렌더링 할 CSS 스타일을 가져올 수 없습니다.

<html> 
<head> 
    <link href="main.css" rel="stylesheet" type="text/css" /> 
</head> 

<body> 

    <h1>Hello, world! Learn</h1> 

    <p> 
    <a href="myscheme://advertising" class="buttonStyle">Click me!</a> 
    </p> 
</body> 
</html> 

을 한 후 나는 main.css가 이런 식으로 CSS 파일을 불렀다 : 이것은 CSS를 렌더링하지 왜

body {background-color:#b0c4de;} 
p {background-color:#e0ffff;} 

는 아는 사람시겠습니까 여기

내가 할 무엇인가? HTML 헤더에서 중요한 것을 놓치고 있습니까? 여기

내가 처음에 HTML 호출하는 방법입니다

- (void)viewDidAppear:(BOOL)animated 
{ 
    NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"learn" 
                 ofType:@"html"]; 

    NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil]; 
    [theWebView loadHTMLString:htmlString baseURL:nil]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:htmlFile]]; 

    [theWebView loadRequest:request]; 
} 

답변

8

문제가

[theWebView loadHTMLString:htmlString baseURL:nil]; 

base을이 전무이기 때문에에, 웹보기는 어디 CSS를 확인할 방법이 없습니다 파일이 있습니다. 수동으로 데이터를 생성하고로드하는 것을 망쳐 놓지 않고 HTML 파일의 경로를 직접 UIWebView에 전달하십시오.

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"learn" ofType:@"html"]; 
NSURL *url = [NSURL fileURLWithPath:htmlFile]; 
NSURLRequest *rq = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:rq]; 
+0

작품 - 매우 멋지다 !! – GeekedOut

+0

고마워 ... 그 와우. 하지만 제 경우는 조금 다릅니다. 내 CSS 파일은 CSS 폴더에 있습니다. 그리고 나는 css/style.css로 접근하고 있습니다. 이 경우 여전히 CSS에 액세스하지 못합니다. 반면에 나는 CSS를 폴더에 넣고 style.css로만 액세스하면된다. 나 좀 도와 줄 수있어? 각 폴더에 넣어야하는 이유는 미래의 혼란을 막기 위해서입니다. 도와주세요. – Debopam

+0

하나의 폴더에 모든 css, html, js 파일이 있어야하거나 다른 폴더로 분할 될 수 있습니까? – Satyam

관련 문제