gpt4 book ai didi

ios - 使用 Swift 的 drawInRect 文本对齐

转载 作者:行者123 更新时间:2023-11-28 10:19:41 30 4
gpt4 key购买 nike

我正在尝试将一些文本放在图像的顶部,该图像位于 CGRect 的中心,而 CGRect 位于该图像的顶部。这是一些代码:

        let textColor: UIColor = UIColor.whiteColor()
let textFont: UIFont = UIFont(name: "Helvetica Bold", size: 17
)!
let textAlignment = NSTextAlignment.Center

let textFontAttributes = [
NSFontAttributeName: textFont,
NSForegroundColorAttributeName: textColor,
NSTextAlignment: textAlignment
]

myString.drawInRect(rect, withAttributes: textFontAttributes)

问题出在文本对齐上。当我这样写时,我得到一个错误:

Type of expression is ambiguous without more context

当我将键和值类型设置为 [String : AnyObject] 时,编译器再次报错:

Cannot convert value of type 'NSTextAlignment.Type' to expected dictionary key type 'String'

我明白了。我对此进行了大约两个小时的研究,但没有找到任何最新的解决方案,也没有找到一个如何使用 Swift 编写云的解决方案。

最佳答案

NSTextAlignment 不是有效键。请注意其他键如何以 Name 结尾。请参阅 NSFontAttributeNameNSForegroundColorAttributeName 的文档以查看有效键的列表。

您需要使用 NSParagraphStyleAttributeName 而不是 NSTextAlignment,这需要您创建 NSParagraphStyle 的实例。这是您将 alignment 设置为 .Center 的地方。

let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .Center

关于ios - 使用 Swift 的 drawInRect 文本对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36626382/

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