gpt4 book ai didi

cocoa - cocoa 中的字符串格式化

转载 作者:行者123 更新时间:2023-12-03 18:05:54 26 4
gpt4 key购买 nike

我正在尝试从我的 cocoa 应用程序(通过使用 Mail.app)发送电子邮件中的一些文本。最初我尝试使用 HTML 发送格式正确的文本。但 mailto: URL 不支持 html 标签(即使在设置 header 之后)

所以我决定使用格式化字符串(字符串左对齐),这就是我的 mailto: 链接的正文参数中的内容

NSMutableString *emailBody = [NSMutableString stringWithFormat:@"|%-35s", [@"Name" UTF8String]];
[emailBody appendFormat:@"|%-18s", [@"Number" UTF8String]];
[emailBody appendString:@"|Notes\n"];

[emailBody appendString:@"----------------------------------------------------------------------------------------------------"];

for(int i = 0; i < [items count]; i++){
NSDictionary *props = [items objectAtIndex:i];

NSMutableString *emailData = [NSMutableString stringWithFormat:@"|%-35s", [[props valueForKey:@"name"] UTF8String]];

[emailData appendFormat:@"|$ %-16s", [[props valueForKey:@"number"] UTF8String]];
[emailData appendString:[props valueForKey:@"notes"]];

[emailBody appendString:@"\n"];
[emailBody appendString:emailData];
}

这确实给了我填充文本,但它们不一定占用相同的空间(例如,如果文本中有一个 O,它会比其他文本占用更多的空间并破坏格式)

是否有另一种仅使用 NSString 来格式化文本的可靠方法?

谢谢

最佳答案

无论您通过 mailto: URL 发送什么内容,其格式都将由用户在“邮件”中的设置决定。默认设置使用比例字体,并且在使用比例字体时将文本与空格对齐注定会失败。您无法通过 mailto: URL 强制 Mail 使用等宽字体。您只能通过这种方式向 Mail 发送纯字符串。

一般来说,mailto: 链接应该仅用于创建非常基本的电子邮件内容。

如果您想控制电子邮件的格式,您应该按照 this answer to a previous question 中的概述创建 HTML 电子邮件。 .

关于cocoa - cocoa 中的字符串格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2407940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com