2011-01-05 10 views
2

私のiPhoneアプリケーションでは、私は電子メールとSMSで共有しているASCIIアートを持っています。iPhone SDKのSMSと電子メールでASCIIアートを送信する際の問題

私はASCIIアートを改行文字とスペースと共にSqliteデータベースに挿入しました。

問題は、SMSと電子メールで送信すると、ASCIIアート全体が左揃えになり、文字間のスペースが失われます。

ASCIIアートは私のアプリでラベルにフェッチされたAPI(MFMailComposeViewController)をメールするために挿入した場合など

alt text

同じASCIIアートを下回っている

alt text

同じASCIIアート下記の通りですSMS API(MFMessageComposeViewController)に挿入すると、次のようになります。

alt text

スペースを維持する方法は?

ASCIIアートはSMSと同様にMailでも正しく表示されますか?

何ができますか?

助けてください。

ありがとうございました

答えて

3

多分フォントのためです。あなたのApp courierで新しいものを使うと、各スペースは通常の文字のように同じギャップを持ちますが、他のフォントでは同じではありません。それぞれのスペースをダブルスペースで置き換えてみることもできます。おそらく、再びうまく見えます。

// EDIT:あなたはとてもあなたの代わりに' '

// EDIT2の' 'または' 'を使用することができ、スペースを強制するために、あなたのMFMailComposeViewControllerにHTMLを設定することができます:あなたの作曲のビューを表示する前に、あなたは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> 

// EDIT3:(うまくいけば^^最後に)、あなたは私の第二の助言を試してみましたか?ダブルスペースで各スペースを置き換える:

[asciiArtString stringByReplacingOccurrencesOfString:@" " withString:@" "]; 
+0

iPortable:ご入力のおかげで、私は私のアプリで新しい宅配便使用していますが、事はどのように我々が構築されたAPIであるMFMailComposeViewControllerクラスでフォントの種類を制御することができるということですメールのために。私は、同じASCIIアートをラベルとテキストビューに私のアプリで与え、それはうまく見えます。しかし、ラベル値をEmail APIに渡すと、スペースがトリムされ、左揃えになります。その場合、何ができるでしょうか? –

+0

私はあなたがMFMailComposeViewControllerに書式設定されたテキストをコミットできることを知っています。 )編集を参照してください –

+0

iPortable:私は私の質問にスクリーンショットを追加しました。何が起きているのかをより良く知ることができます。あなたはちょうど言った基本的なhtmlについてもっと説明できますか? –

関連する問題