cocoa – 为什么超链接有时不会在带有NSAttributedString的NSTextField中显示?

cocoa – 为什么超链接有时不会在带有NSAttributedString的NSTextField中显示?,第1张

概述我在NSTextField中使用的文本是从文件加载的,如下所示. NSString *path = [[NSBundle mainBundle] pathForResource:@"Credits" ofType:@"rtf"];NSAttributedString *as = [[NSAttributedString alloc] initWithPath:path documentAttr 我在NSTextFIEld中使用的文本是从文件加载的,如下所示.

Nsstring *path = [[NSBundle mainBundle] pathForResource:@"Credits"  ofType:@"rtf"];NSAttributedString *as = [[NSAttributedString alloc] initWithPath:path documentAttributes:NulL];[creditsLabel setAttributedStringValue:as];[creditsLabel becomeFirstResponder];

除非我首先点击NSTextFIEld上的某个地方,否则窗口中的超链接不会呈现蓝色下划线.

如何使这些超链接看起来像超链接?

这是RTF:

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf250{\Fonttbl\f0\fnil\fcharset0 LucIDaGrande;}{\colortbl;\red255\green255\blue255;}\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural\f0\fs24 \cf0 copyright \'a9 2009-2010 Fully Functional Software.\All rights reserved.\BlazingStars is made possible by {\fIEld{\*\fldinst{HYPERlink "http://www.iterasi.net/openvIEwer.aspx?sqrlitID=p4mjpt7nl02tyjl08_ctaa"}}{\fldrslt DBPrefsWindowController}},{\fIEld{\*\fldinst{HYPERlink "http://mattgemmell.com/source"}}{\fldrslt Image Crop}},{\fIEld{\*\fldinst{HYPERlink "http://code.Google.com/p/tesseract-ocr/"}}{\fldrslt Tesseract-OCR}},{\fIEld{\*\fldinst{HYPERlink "http://andymatuschak.org/articles/2005/12/18/help-with-apple-help"}}{\fldrslt Andy's Help Toolkit}},and {\fIEld{\*\fldinst{HYPERlink "http://wafflesoftware.net/shortcut/"}}{\fldrslt Shortcut Recorder}}.\Includes icons from the BlueCons set by {\fIEld{\*\fldinst{HYPERlink "http://www.mouserunner.com"}}{\fldrslt Ken Saunders}}.}

alt text http://pokercopilot.com/stuff/stackoverflow/screenshot2.png

alt text http://pokercopilot.com/stuff/stackoverflow/screenshot1.png

解决方法 您可以通过在RTF中以这种方式设置链接来获得链接,但文本字段不会处理点击,除非您启用编辑文本属性和选择文本. (两个声明的来源: QA1487.)我在你对DIEderik Hoogenboom的回答中看到你已经完成了最后一部分,所以现在你需要做的就是在整个RTF中撒上蓝色和下划线.

另一种解决方案是使用文本视图而不是文本字段.

第三种解决方案是使用DSClickableTextField.

总结

以上是内存溢出为你收集整理的cocoa – 为什么超链接有时不会在带有NSAttributedString的NSTextField中显示?全部内容,希望文章能够帮你解决cocoa – 为什么超链接有时不会在带有NSAttributedString的NSTextField中显示?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存