gpt4 book ai didi

cocoa - 尝试使用 NSTextField 创建链接

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

我正在使用此类别(对吗?)http://www.nightproductions.net/references/dsclickableurltextfield_reference.html#setAttributedStringValue

实现可点击的文本字段。我已将头文件导入到我的 Controller 类中,并像这样设置它的属性字符串值

NSAttributedString* str = [[NSAttributedString alloc] initWithString:@"http://www.yahoo.com"];
[url setAttributedStringValue:(NSAttributedString *)str];

[str release];

文本字段不可选择且不可编辑。

文本字段值已设置,但不可点击,也不是链接。

提前致谢。

最佳答案

我找到了另一种在 NSTextField 中显示链接的简单方法。您可以使用 HTML。这是一个简短的示例:

-(NSAttributedString *)stringFromHTML:(NSString *)html withFont:(NSFont *)font
{
if (!font) font = [NSFont systemFontOfSize:0.0]; // Default font
html = [NSString stringWithFormat:@"<span style=\"font-family:'%@'; font-size:%dpx;\">%@</span>", [font fontName], (int)[font pointSize], html];
NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];
NSAttributedString* string = [[NSAttributedString alloc] initWithHTML:data documentAttributes:nil];
return string;
}

现在您可以调用文本字段的方法:

// @property IBOutlet NSTextField *tf;
[tf setAllowsEditingTextAttributes: YES];
[tf setSelectable:YES];
NSString *credits = @"Visit our <a href=\"http://www.webpage.com\">webpage</a>";
[tf setAttributedStringValue:[self stringFromHTML:credits withFont:[tf font]]];

关于cocoa - 尝试使用 NSTextField 创建链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570368/

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