gpt4 book ai didi

objective-c - 返回 NSTextView 的选择属性

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

enter image description here

当您使用TextEdit并选择字符串时,它会给您选择的颜色、字体、大小和其他属性,如上所示。如何获得这些文本选择属性?我确信我需要使用 selectedTextAttributes 方法。我有以下几行代码。

- (void)textViewDidChangeSelection:(NSNotification *)notification {
if ([notification object] == textView1) {
...
...
NSMutableDictionary *dict = [[textView1 selectedTextAttributes] mutableCopy];
NSLog(@"%@",dict);
}
}

如果我运行它,结果不太像我预期的那样。

NSBackgroundColor = "NSNamedColorSpace System selectedTextBackgroundColor";
NSColor = "NSNamedColorSpace System selectedTextColor";

没有真正有用的值可用于获取字符串选择的文本颜色和其他属性。如果我向 Google 询问 selectedTextColor,我的运气不太好。

感谢您的帮助。

最佳答案

selectedTextAttributes 描述选择突出显示的外观,而不是所选文本的属性。我找了好久这个问题的答案,终于在这里找到了:

Attribute String Programming Guide

一些示例代码。对于名为 editView 的 NSTextView*,这会收集所选内容中所有不同格式范围的 NSDictionary 对象数组。

NSMutableArray* attributes = [NSMutableArray array];
NSRange selRange = editingView.selectedRange;
NSRange effectiveRange = NSMakeRange(selRange.location, 0);
while (NSMaxRange(effectiveRange) < NSMaxRange(selRange)) {
[attributes addObject: [editingView.textStorage attributesAtIndex: NSMaxRange(effectiveRange) longestEffectiveRange: &effectiveRange inRange: selRange]];
}

关于objective-c - 返回 NSTextView 的选择属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25737937/

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