我想创建一个NSTextField
,其中嵌入了可点击链接。所以我在viewDidLoad:
中编写了以下代码(textField
通过@IBOutlet
连接):
textField.allowsEditingTextAttributes = true
textField.selectable = true
let templateString = "Please check out "
let linkString = "the following page"
let string = NSMutableAttributedString(string: templateString + linkString)
string.beginEditing()
string.addAttributes([NSLinkAttributeName: appPageURLString, NSFontAttributeName: NSFont.systemFontOfSize(11.0) ], range: NSMakeRange(templateString.characters.count, linkString.characters.count))
string.endEditing()
textField.attributedStringValue = string
然而,当我运行应用程序时,文本字段似乎无法点击:
当我尝试选择文本字段时,它最终变为可点击状态,字符串稍微移动到右下方并变厚:
这是非常可怕的界面。为什么会这样?我怎样才能在发布时点击它?
答案 0 :(得分:0)
我遇到了同样的问题。找到https://developer.apple.com/library/mac/qa/qa1487/_index.html并将其翻译为swift:
attString.beginEditing()
attString.addAttribute(NSLinkAttributeName, value: url.absoluteString, range: range)
attString.addAttribute(NSForegroundColorAttributeName, value: NSColor.blueColor(), range: range)
attString.addAttribute(NSUnderlineStyleAttributeName, value:NSNumber(integer: NSUnderlineStyle.StyleSingle.rawValue) , range: range)
attString.endEditing()
显示文本字段时显示下划线(和蓝色字体)。
' url'变量是NSURL。