gpt4 book ai didi

iphone - NSStringDrawingUsesLineFragmentOrigin 未解决?

转载 作者:行者123 更新时间:2023-11-28 11:21:46 25 4
gpt4 key购买 nike

我正在 Xcode 6.1 中开发一个针对 iOS >= 7 的 Swift 应用程序,并且无法使用 NSStringDrawingUsesLineFragmentOrigin,因为它尚未解决。我用谷歌搜索了它,但我发现的都是使用它的示例,显然没有问题。 Apple 网站上的当前文档显示它是有效的。有没有人遇到/解决过同样的问题?

编辑:我已经让它与我昨天尝试过的 NSStringDrawingOptions.UsesLineFragmentOrigin(感谢 Matt)一起使用,但它仅适用于将目标上下文设置为 nil 的情况。昨天,当我传递一个有效的上下文时,我在“选项”中传递的任何内容都显示为未解决。奇怪的是,今天如果我传递一个有效的上下文,编译器会在我的字体属性上给我一个不同的错误——“NSString 与 NSObject 不同”!我想知道这是否只是 Swift 编译器中的一些古怪错误?无论如何,这是最终编译的代码:

    var textStyle = NSMutableParagraphStyle.defaultParagraphStyle().mutableCopy() as NSMutableParagraphStyle
textStyle.alignment = NSTextAlignment.Left

let fontAttributes = [
NSFontAttributeName: UIFont(name: "Georgia", size: tileSize * CLUES_FONT_SCALE)!,
NSForegroundColorAttributeName: UIColor.blackColor(),
NSParagraphStyleAttributeName: textStyle
]

size = text.boundingRectWithSize(
CGSize(width: width, height: 1000),
options: NSStringDrawingOptions.UsesLineFragmentOrigin,
attributes: fontAttributes,
context: nil
)

请注意,如果我替换:

NSStringDrawingOptions.UsesLineFragmentOrigin

NSStringDrawingUsesLineFragmentOrigin

如 Apple 文档所示,我得到“使用未解析的标识符”。

最佳答案

我刚刚启动了 Xcode 6.1,创建了一个部署目标为 iOS 7.0 的 Swift iOS 项目,并将以下代码粘贴到我的应用程序的 didFinishLaunchingWithOptions 中:

let attrib_string = NSAttributedString(string: "Foo")
let rect = attrib_string.boundingRectWithSize(
CGSize(width: 100, height: 100),
options: .UsesLineFragmentOrigin,
context: nil)
println(rect)

它编译、链接并运行良好,并将结果打印到控制台:

(0.0,0.0,20.6777,13.8)

您可能需要编辑您的问题以提供完整的示例,以及您收到的确切错误消息。我看不出有什么异样;使用 NSStringDrawingOptions.UsesLineFragmentOrigin 的完全限定枚举值也能正常工作。

关于iphone - NSStringDrawingUsesLineFragmentOrigin 未解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27281975/

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