How do I use SPACE instead of TAB in NSTextView

2019-04-29 01:26发布

问题:

I just know how to modify the tab width in NSTextView

NSMutableParagraphStyle *paragraphStyle = [[self defaultParagraphStyle] mutableCopy];
[paragraphStyle setTabStops:[NSArray array]];
[paragraphStyle setDefaultTabInterval: tabWidth]; 

But, is there any way to use 4 SPACES instead of TAB in NSTextView?

回答1:

Well, it's late, but I'll post my answer in case some other poor soul is struggling with this.

I''ve been struggling with this all day, and finally found the answer at cocoabuilder

In summary, what I did was, in my text view delegate:

- (BOOL)textView:(NSTextView *)aTextView doCommandBySelector:(SEL)commandSelector {
    if (commandSelector == @selector(insertTab:)) {
        [aTextView insertText:@"    "];
        return YES;
    }
    return NO;
}

Seems to work fine.

Undo works also.