Неправильное выравнивание при отправке ASCII Art через SMS и электронную почту в iPhone SDK - PullRequest
2 голосов
/ 05 января 2011

В моем приложении для iPhone есть изображение ASCII, которым я делюсь по электронной почте и SMS.

Я вставил изображение ASCII в базу данных Sqlite вместе с символом новой строки и пробелами.

Проблема в том, что когда я отправляю их через SMS и электронную почту, все искусство ASCII приходит в левое выравнивание, а расстояние между символами теряется.

ASCII Art извлечен в Label в моем приложении, как показано ниже

alt text

То же искусство ASCII при вставке в Email API (MFMailComposeViewController), как показано ниже

alt text

То же искусство ASCII при вставке в SMS API (MFMessageComposeViewController), как показано ниже

alt text

Как сохранить пробелы? Как сделать так, чтобы ASCII-изображение выглядело правильно в Mail, а также в SMS API View?

1 Ответ

3 голосов
/ 05 января 2011

Может быть, это из-за шрифта.Если вы используете в своем приложении курьера new, то каждый пробел будет иметь такой же разрыв, как и обычный символ, но в других шрифтах они не одинаковы.Вы можете попробовать заменить каждый пробел двойным пробелом, возможно, он снова будет выглядеть красиво.

Вы можете установить html на MFMailComposeViewController, поэтому для пробелов вы можете использовать ' ' или ' ' вместо * 1006.*

Кроме того, перед отображением представления композитора вы можете изменить атрибут для отображения html ([mailComposer setMessageBody:myHtmlString isHTML:YES];), где myHtmlString представляет это:

<html>
<head>
<style type="text/css"> 
body {font-family: courier new; 
font-size: 10pt; 
color: 00000; 
}
</style> 
</head> 
<body> 
your ascii art here
</body> 
</html>

Чтобы расширить мой второй совет,замените каждый пробел двойным пробелом:

[asciiArtString stringByReplacingOccurrencesOfString:@" " withString:@"  "];
...