3

在我的 iPhone 应用程序中,我有 ASCII 艺术,我通过电子邮件和短信分享。

我已将 ASCII 艺术与换行符和空格一起插入到 Sqlite 数据库中。

问题是,当我通过 SMS 和电子邮件发送它们时,整个 ASCII 艺术都是左对齐的,并且字符之间的间距丢失了。

在我的应用程序的标签中获取的 ASCII 艺术如下

替代文字

插入到电子邮件 API (MFMailComposeViewController) 时的相同 ASCII 艺术如下

替代文字

插入 SMS API (MFMessageComposeViewController) 时的相同 ASCII 艺术如下

替代文字

如何维护空间?如何使 ASCII 艺术在 Mail 和 SMS API 视图中看起来合适?

4

1 回答 1

3

可能是字体的原因。如果您在 App courier new 中使用,则每个空格都会像普通字符一样具有相同的间隙,但在其他字体中它们是不一样的。您可以尝试用双倍空格替换每个空格,也许它会再次看起来不错。

您可以将 html 设置为您的MFMailComposeViewControllerso 以强制您可以使用' '' '代替' '

此外,在显示您的作曲家视图之前,您可以更改一个属性以显示 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:@"  "];
于 2011-01-05T09:24:18.100 回答