- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 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/
我正在 Xcode 6.1 中开发一个针对 iOS >= 7 的 Swift 应用程序,并且无法使用 NSStringDrawingUsesLineFragmentOrigin,因为它尚未解决。我用谷
我是一名优秀的程序员,十分优秀!