gpt4 book ai didi

macos - NSText applyFontTraits 不适用于多行 NSTextView

转载 作者:行者123 更新时间:2023-12-03 17:50:03 29 4
gpt4 key购买 nike

在尝试将 NSTextView 小部件内部分文本的字体样式更改为粗体时,我遇到了一些问题。文本跨越几行。这是我的代码:

[tv setString:@"\nTest Prog 1.0\n-Mac OS version -\nRelease date: 08.04.2015"];
NSMutableAttributedString *text = [tv textStorage];
[text applyFontTraits:NSBoldFontMask range:NSMakeRange(15,32)];

如您所见,我传递的范围是 15 到 32,这意味着第二行(“-Mac OS 版本-”)应以粗体打印。然而,事实并非如此。相反,我得到的是这样的外观:

Screenshot of bad behaviour

正如你所看到的,第三行也以粗体打印,但我不明白为什么会发生这种情况。我在这里做错了什么还是这是 Mac OS 本身的错误?

该行为已在 10.6(我的开发系统)和 10.10 Yosemite(我的测试系统)中得到证实。

有什么想法吗?

最佳答案

NSMakeRange() 的第二个参数不是范围的结束索引,而是长度。您已指定从索引 15 开始并包含 32 个字符的范围。

Cocoa 已将您指定的文本加粗。

关于macos - NSText applyFontTraits 不适用于多行 NSTextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29523573/

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