8

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?

joyqi
  • 123
  • 2
  • 7

1 Answers1

9

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.

Patrick Pijnappel
  • 7,317
  • 3
  • 39
  • 39
John Velman
  • 688
  • 9
  • 16
  • 1
    If you subclass `NSTextField` you can override `setTab:` and do it there instead. Useful if you already have a subclass. – Bruno Philipe Feb 28 '14 at 02:22