Форматирование строки в какао - PullRequest
0 голосов
/ 09 марта 2010

Я пытаюсь отправить текст по электронной почте из моего приложения какао (с помощью Mail.app). Сначала я пытался использовать HTML для отправки правильно отформатированного текста. Но mailto: URL не поддерживает HTML-теги (даже после установки заголовков)

Поэтому я решил использовать отформатированную строку (выравнивание строки по левому краю). Это то, что у меня есть в аргументе тела моего mailto: link

NSMutableString *emailBody = [NSMutableString stringWithFormat:@"|%-35s", [@"Name" UTF8String]];
[emailBody appendFormat:@"|%-18s", [@"Number" UTF8String]];
[emailBody appendString:@"|Notes\n"];

[emailBody appendString:@"----------------------------------------------------------------------------------------------------"];

for(int i = 0; i < [items count]; i++){
    NSDictionary *props = [items objectAtIndex:i];

    NSMutableString *emailData = [NSMutableString stringWithFormat:@"|%-35s", [[props valueForKey:@"name"] UTF8String]];

    [emailData appendFormat:@"|$ %-16s", [[props valueForKey:@"number"] UTF8String]];
    [emailData appendString:[props valueForKey:@"notes"]];

    [emailBody appendString:@"\n"];
    [emailBody appendString:emailData];
}

Это дает мне дополненный текст, но все они не обязательно занимают одно и то же место (например, если в тексте присутствует буква O, это занимает больше места, чем другие, и портит форматирование)

Есть ли другой верный способ форматирования текста с использованием только NSString?

Спасибо

1 Ответ

1 голос
/ 09 марта 2010

Независимо от того, какой контент вы отправляете по URL-адресу mailto:, его форматирование будет определяться настройками пользователя в Mail.В настройках по умолчанию используется пропорциональный шрифт, а выравнивание текста с пробелами при использовании пропорционального шрифта обречено на провал.Вы не можете заставить Mail использовать моноширинный шрифт через mailto: URL.Таким способом вы можете отправлять в Mail только обычную строку.

Как правило, ссылки mailto: должны использоваться для создания только очень основного содержимого электронной почты.

Если вы хотите контролировать форматированиеэлектронное письмо, вам следует создать электронное письмо в формате HTML, как указано в этом ответе на предыдущий вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...