我还没有完全尝试过,但试一试:
首先,对于超链接,我在 NSAttributedString 上使用了一个类别,类似于 Apple 开发人员文档中的这篇文章。此处的示例为您提供了一个关于 NSAttributedString 'hyperlinkFromString:withURL:` 的方法
其次,为表创建一个委托,并实现tableView:willDisplayCell:forTableColumn:row:
方法。
在那个方法中,
setAttributedStringValue:[NSAttributedString hyperlinkFromString:YOUR_STRING withURL:YOUR_URL]
或者,如果您还需要非超链接字符串文本,
setAttributedStringValue:[SOME_NON_HYPERLINKED_STRING appendAttributedString:[NSAttributedString hyperlinkFromString:YOUR_STRING withURL:YOUR_URL]]
如果这是您自定义绘制 NSCell 的唯一原因,您可以尝试摆脱自定义类,因为这应该适用于 NSTextFieldCell。不过,我在网上看到,有些人在将文本字段单元格中的属性字符串居中时遇到了麻烦,所以我希望它可以正常工作。另一个警告:使用委托方法,请确保设置要针对所有条件更改的单元格属性。我引用:
因为 aCell 对 aTableColumn 中的每一行都重复使用,所以在绘制特殊单元格和绘制普通单元格时,代理必须设置显示属性。
来自“http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSTableViewDelegate_Protocol/Reference/Reference.html”(抱歉,StackOverflow 不允许我发布多个超链接)
希望这可以帮助。