Frage

In meiner iPhone -App habe ich ASCII -Kunst, die ich per E -Mail und SMS teile.

Ich habe die ASCII -Kunst zusammen mit dem neuen Zeichen und den Leerzeichen in die SQLite -Datenbank eingefügt.

Das Problem ist, wenn ich sie durch SMS und E -Mail sende, ist die gesamte ASCII -Kunst in die linke Ausrichtung und der Abstand zwischen Charakteren geht verloren.

ASCII -Kunst, das in meiner App auf dem Etikett abgerufen wird

alt text

Gleiche ASCII -Kunst, wenn Sie in die E -Mail -API (mfmailComponponSeViewController) eingefügt werden, finden Sie unten

alt text

Gleiche ASCII -Kunst, wenn Sie in die SMS -API (mfMessageComposeviewController) eingefügt werden, ist wie unten

alt text

Wie pflegt ich die Räume? Wie kann man die ASCII -Kunst in Post sowie SMS -API -Ansicht ordnungsgemäß aussehen lassen?

War es hilfreich?

Lösung

Vielleicht liegt es an der Schriftart. Wenn Sie in Ihrem App Courier New verwenden, hat jeder Speicherplatz die gleiche Lücke wie ein normaler Charakter, aber in anderen Schriftarten sind sie nicht gleich. Sie können versuchen, jeden Raum durch doppelten Raum zu ersetzen, vielleicht sieht er wieder gut aus.

Sie können HTML auf Ihr festlegen MFMailComposeViewController Um Räume zu erzwingen, können Sie verwenden ' ' oder ' ' Anstatt von ' '

Bevor Sie Ihre Komponistenansicht anzeigen, können Sie ein Attribut ändern, um HTML anzuzeigen ([mailComposer setMessageBody:myHtmlString isHTML:YES];) wo myHtmlString darstellen:

<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>

Um meinen zweiten Rat zu erweitern, ersetzen Sie jeden Raum durch einen doppelten Raum:

[asciiArtString stringByReplacingOccurrencesOfString:@" " withString:@"  "];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top