UIWebView 관련.
Dev/iOS 2011. 11. 1. 17:56* 테스트 안됐음.NSString *html = [NSString stringWithFormat:@"<img src='https://t1.daumcdn.net/cfile/tistory/2220894C56E7540A35", [myData base64Value];
[myWebView loadHTMLString:html baseURL:nil]
HTML 문자열로 표시할때 이미지를 파일로 저장한 후 해당 경로를 이용하여 표시하는 방법.
- (NSString *)writeToFile:(UIImage *)image
{
// Get the location of the Documents directory
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * imagePath = [paths objectAtIndex:0];
NSString * filename = @"tempDiaryPicture.png";
NSString * filepath = [NSString stringWithFormat:@"%@/%@", imagePath, filename];
// Save the image
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];
[imageData writeToFile:filepath atomically:YES];
return filepath;
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
Model * model = _getModel();
NSString * html = [NSString stringWithFormat:
@"<center><img src=\"file://%@\" width=\"240\" height=\"240\" border=\"0\"></center>\n"
"<hr />",
[self writeToFile:image]]; // UIImage * image -> 데이터베이스나 라이브러리와 같은 곳에서 읽어온경우.
[webView loadHTMLString:html
baseURL:nil];
}
Base64 encoding options on the Mac and iPhone
stackoverflow : http://stackoverflow.com/questions/1527351/how-to-add-an-uiimage-in-mailcomposer-sheet-of-mfmailcomposeviewcontroller-in-ip
NSData+base64 by matt gallagher : http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html
간략하게 설명하면 다음과 같다.
1. matt gallagher 의 홈페이지에 가서 NSData_Base64.zip 파일을 다운로드 받아 프로젝트 폴더에 압축을 해제.
2. NSData+Base64.h, NSData+Base64.m 파일을 프로젝트에 추가한다.
3. 사용하고자 하는 파일에 .h 파일을 #import 한다.
4. 다음과 같이 UIImage파일을 NSData로 변환을 거쳐 NSString으로 변환하여 이미지를 표시한다.
UIImage *emailImage = [UIImage imageNamed:@"myImageName.png"];
//Convert the image into data
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(emailImage)];
//Create a base64 string representation of the data using NSData+Base64
NSString *base64String = [imageData base64EncodedString];
//Add the encoded string to the emailBody string
//Don't forget the "<b>" tags are required, the "<p>" tags are optional
[emailBody appendString:[NSString stringWithFormat:@"<p><b><img src='https://t1.daumcdn.net/cfile/tistory/233F704F56E7540A34",base64String]];
'Dev > iOS' 카테고리의 다른 글
gdb stack trace at 'putpkt: write failed' 해결방법 (0) | 2011.11.11 |
---|---|
NSLog 함수 이름 관련 매크로. (0) | 2011.11.04 |
UILabel 관련 내용. (0) | 2011.11.01 |
UITextView (0) | 2011.11.01 |
Table View 관련 (0) | 2011.10.28 |