3

私のiPhoneアプリには、電子メールとSMSで共有しているASCIIアートがあります。

アスキーアートを改行文字とスペースとともにSqliteデータベースに挿入しました。

問題は、SMSやEメールで送信すると、ASCIIアート全体が左揃えになり、文字間の間隔が失われることです。

私のアプリのラベルにフェッチされたASCIIアートは次のとおりです

代替テキスト

電子メールAPI(MFMailComposeViewController)に挿入されたときの同じASCIIアートは次のとおりです

代替テキスト

SMS API(MFMessageComposeViewController)に挿入されたときの同じASCIIアートは次のとおりです

代替テキスト

スペースを維持する方法は?メールとSMSAPIビューでASCIIアートを適切に表示するにはどうすればよいですか?

4

1 に答える 1

3

フォントのせいかも。App courier new で使用すると、各スペースには通常の文字と同じギャップがありますが、他のフォントでは同じではありません。各スペースをダブルスペースに置き換えてみてください。おそらく、再び見栄えがするでしょう。

html を so に設定して、または代わりにMFMailComposeViewController使用できるスペースを強制することができます' '' '' '

また、composer ビューを表示する前に、属性を変更して 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>

2 つ目のアドバイスを拡張するには、各スペースをダブル スペースに置き換えます。

[asciiArtString stringByReplacingOccurrencesOfString:@" " withString:@"  "];
于 2011-01-05T09:24:18.100 に答える