gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 16:10:32 34 4
gpt4 key购买 nike

我在 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
(来源:pokercopilot.com)

alt text
(来源:pokercopilot.com)

最佳答案

您可以通过在 RTF 中设置链接样式来使链接看起来像链接,但文本字段不会处理点击,除非您启用编辑文本属性并选择文本。 (这两种说法的来源: QA1487 。)我在您对 Diederik Hoogenboom 的回答的评论中看到,您已经完成了最后一部分,因此您现在需要做的就是在整个 RTF 中撒上蓝色和下划线。

另一种解决方案是使用 TextView 而不是文本字段。

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

关于cocoa - 为什么超链接有时不显示在带有 NSAttributedString 的 NSTextField 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131943/

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