iPhone

[objc] UIWebView

tenn 2012. 11. 29. 20:11

UIWebView 




Delegate


UITableView에서 커스텀된 Cell에 UIWebView를 넣었는데 link가 작동안하는 현상이 있었다.


커스텀된 Cell에서<UIWebViewDelegate>를 델리케이트 추가해주고,

xib의 delegate를 연결한 후, 링크가 작동.



String HTML의 표시



loadData


NSString *html = @" <font color='red'><b> Detail... </font> <br>";

    

NSData* data=[html dataUsingEncoding:NSUTF8StringEncoding];

    

[self.webView loadData:data MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"nil"]];



iOS6.1, iOS6.0에서 동작확인.

iOS5.1.1에서 동작안함.



loadHTMLString


...

[self.webView loadHTMLString:html baseURL:nil];



iOS6.0, iOS5.1.1에서 동작확인.




UIWebView에 배경화면 설정하기



배경화면을 넣은 UIImageView를 UIWebView뒤에 배치.

UIWebView의 BackgroundColor를 clearColor, Opaque = NO로 지정.



폰트 사이즈의 지정 (px)


<span style=font-size:14px;color:#000000>

...

</span>








iOS5에서는 autolayout이 없으므로

다음 설정이 필요하다.


webView.autoresizingMask = UIViewAutoresizingFlexibleHeight;

 webView.autoresizesSubviews = YES;




loadHTMLString:baseURL: 는 로딩하는데 시간이 걸리므로 

그전에 스크립트로 높이등을 구하려고 해도, 바른값을 취득할수 없다.

UIWebView의 로딩이 끝나면 webViewDidFinishLoad:가 호출된다.