2013-09-17 3 views
2

Я пытаюсь создать текстовое поле ввода, на которое пользователь нажимает (точка - это NSPoint, где пользователь нажал).Увеличить размер шрифта NSTextView

Прямо сейчас у меня есть работа, но окно ввода, которое отображается, слишком мало. Я бы хотел, чтобы он заполнил внешний вид (синий).

// Text Storage 
    NSTextStorage *textStorage = [[NSTextStorage alloc] init]; 
    [textStorage setFont:[NSFont fontWithName:@"Menlo" size:18]]; 

    // Layout Manager 
    NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init]; 
    [textStorage addLayoutManager:layoutManager]; 

    NSRect textViewBounds = NSMakeRect(point.x, point.y, NSWidth(self.window.frame), 50); 

    // Text Container 
    NSTextContainer *textContainer; 
    textContainer = [[NSTextContainer alloc] 
        initWithContainerSize:textViewBounds.size]; 
    [layoutManager addTextContainer:textContainer]; 

    // Text View 
    NSTextView *textView = [[NSTextView alloc] initWithFrame:textViewBounds]; 

    // Of course text editing should be as undoable as anything else. 
    [textView setAllowsUndo:YES]; 
    [textView setBackgroundColor:[NSColor blueColor]]; 
    //[textView setDrawsBackground:NO]; 

    [self addSubview:textView]; 

    // Make the editing view the first responder so it takes key events and relevant menu item commands. 
    //[self.window setContentView:textView]; 
    [self.window makeFirstResponder:textView]; 

enter image description here

Что я здесь отсутствует?

ответ

3

NSTextView подкласс NSText, который предоставляет метод:

- (void)setFont:(NSFont *)aFont 

Вы должны быть в состоянии установить семью и размер шрифта с помощью NSFont и это различные методы. Если вы просто хотите, чтобы установить размер, вы можете использовать:

NSFont *font = [NSFont userFontOfSize:21.0]; 

Чтобы указать семью и размер шрифта, вы можете использовать:

+ (NSFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize 
+0

Это работает. Любая идея, почему это не работает через NSTextStorage? – Maverick

+0

Я не уверен быть честным. Я раньше не использовал 'NSTextStorage'. Однако, глядя на документацию, 'NSTextStorage' также предоставляет метод' - (void) setFont: (NSFont *) font'. Вы пробовали это? – CaptainRedmuff

+0

Да, я пробовал. Это в коде выше. Странно, что это не сработало. – Maverick

Смежные вопросы