NSString
으로 일부 텍스트를 저장하고 있습니다. 텍스트에 여러 단락이 포함되어 있습니다. 텍스트를 기록하거나 표시 할 때 새 행 문자가 올바르게 삽입됩니다.NSString이 메일 본문에 추가 될 때 새 줄을 잃음
그러나 MFMailComposeViewController
을 사용하고 메일 본문에 텍스트를 추가하면 새 줄이 제거되고 텍스트가 함께 실행됩니다.
이 문제의 원인은 무엇이며 서식을 유지하려면 어떻게해야합니까?
NSString
으로 일부 텍스트를 저장하고 있습니다. 텍스트에 여러 단락이 포함되어 있습니다. 텍스트를 기록하거나 표시 할 때 새 행 문자가 올바르게 삽입됩니다.NSString이 메일 본문에 추가 될 때 새 줄을 잃음
그러나 MFMailComposeViewController
을 사용하고 메일 본문에 텍스트를 추가하면 새 줄이 제거되고 텍스트가 함께 실행됩니다.
이 문제의 원인은 무엇이며 서식을 유지하려면 어떻게해야합니까?
당신이 HTML로 텍스트를 치료하는 뷰 컨트롤러를 지시하는 경우, 그 서식을 보존 할 수 있습니다 그렇지 않으면 버려집니다. 이 경우 실제 HTML을 피드해야합니다 (HTML의 경우 \n
은 좋지 않습니다). 따라서 시도하십시오 :
NSCharacterSet *set = [NSCharacterSet newlineCharacterSet];
NSString *html = [[body componentsSeparatedByCharactersInSet:set]
componentsJoinedByString:@"<br />"];
[viewController setMessageBody:html isHTML:YES];
당신의 대답이 내 것보다 낫다고 생각해서 +1을 던질 것이지만, 나는 당신이 의견을 게시하기 전에 내 대답으로 시작했다. 고통스럽게 내 iPad에서 코드로 답을 쓰는 속도가 느려지는 것을 알 수 있습니다. –
@ 0x7fffffff 그 것을 되 살리게하십시오 : P 나는 그 느낌을 안다. –
iPad 용 Xcode에 대한 불안감이 많은 사람들이 여기 저기에서 게시물을 보았지만 실제로 얼마나 끔찍한 지 상상할 수 있습니까? –
줄 바꿈으로 \n
을 말하는 경우이 작업을 수행해야합니다. 하나 개의 대안은 YES로 작곡가의 isHTML 플래그를 <br>
와 \n
의 발생을 교체하고 설정하는 것입니다 :
NSString *emailString = [myParagraphs stringByReplacingOccurrencesOfString:@"\n" withString:@"<br>"];
[mailComposer setMessageBody:emailString isHTML:YES];
, 당신은 HTML 콘텐츠로 포장해야합니다. (모든 사람이 내 댓글에서 답을 쓰는 경우 OK, 나는 너무 한 쓰기)
NSString *myEmailBody = @"First Line <br/> Second <br/> Third";
[composer setMessageBody:myEmailBody isHTML:YES];
보기 컨트롤러가 텍스트를 HTML로 처리하도록하여 서식을 유지할 수 있습니다. –
감사합니다 - 이미이 일을하고 있습니다. –
유효한 HTML인가? 어쩌면 컨트롤러 헤어 헤어 : P –