gpt4 book ai didi

swift - 如何格式化多个字符串以使它们彼此齐平

转载 作者:行者123 更新时间:2023-11-30 10:43:03 24 4
gpt4 key购买 nike

描述

我想格式化多个字符串,使它们彼此齐平。 (查看实际结果和预期结果)

我尝试了什么

我已经实现了这个解决方案:https://stackoverflow.com/a/31613297/11582550(见代码)它也有效,但前提是我在控制台中打印结果。我想将文本保存在 label.text 中,但这不起作用。

一些代码

func formattedString(left:String, right:String) -> String {
let left = (left as NSString).utf8String
let right = (right as NSString).utf8String
print(String(format:"%-20s %-20s", left!, right!))
return String(format:"%-20s %-20s", left!, right!)
}

label.text += formattedString(left: "Firstname: ", right: "Alfred") + "\n" + formattedString(left:"Lastname: ", right: "LongLastname") + "\n" + formattedString(left:"Note:", right: "private")

// actual result

我的预期

## actual result (saved in label.text)
Firstname: Alfred
Lastname: LongLastname
Note: private

## expected result (saved in label.text)
Firstname: Alfred
Lastname: LongLastname
Note: private

最佳答案

您的问题是您的标签使用比例字体而不是固定宽度字体。在比例字体中,字符宽度各不相同,因此您不能期望字符对齐。

将标签使用的字体更改为固定宽度字体(例如 CourierCourier NewMenlo),并且这将解决您的问题。

关于swift - 如何格式化多个字符串以使它们彼此齐平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56393811/

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