如何在NStextview中选择粗体?

时间:2011-03-09 07:40:52

标签: cocoa fonts nstextview bold

使用setFont:范围:?但我想在这里做的只是选择粗体,因为选择可能有不同的字体属性,所以,任何人都可以说出来吗?

2 个答案:

答案 0 :(得分:9)

像这样:

NSMutableAttributedString* text = [textView textStorage];
[text applyFontTraits:NSBoldFontMask range:NSMakeRange(0,[text length])];

其中范围是您要加粗的文本范围。

答案 1 :(得分:0)

你也可以像这样模拟CMD + B键按下:

// Simulates CMD+B
    CGEventSourceRef src =
    CGEventSourceCreate(kCGEventSourceStateHIDSystemState);

    CGEventRef cmdd = CGEventCreateKeyboardEvent(src, 0x38, true);
    CGEventRef cmdu = CGEventCreateKeyboardEvent(src, 0x38, false);
    // Key codess for the (B) key
    CGEventRef Bd = CGEventCreateKeyboardEvent(src, 0x0b, true);
    CGEventRef Bu = CGEventCreateKeyboardEvent(src, 0x0b, false);

    CGEventSetFlags(Bd, kCGEventFlagMaskCommand);
    CGEventSetFlags(Bu, kCGEventFlagMaskCommand);

    CGEventTapLocation loc = kCGHIDEventTap; 
    CGEventPost(loc, cmdd);
    CGEventPost(loc, Bd);
    CGEventPost(loc, Bu);
    CGEventPost(loc, cmdu);

    CFRelease(cmdd);
    CFRelease(cmdu);
    CFRelease(Bd);
    CFRelease(Bu);
    CFRelease(src);