измените TextEdit так, чтобы NSTextView имел прозрачный фон. каким образом?

#objective-c #cocoa #textedit

#objective-c #какао #текстовое редактирование

Вопрос:

Я хотел бы, чтобы фон NSTextView и само окно TextEdit были прозрачными, но я не совсем уверен, как это сделать. Несколько подсказок было бы здорово.

Ответ №1:

Легко! Текстовое представление создается программно в классе DocumentWindowController, поэтому просто найдите точки, в которых оно создается (в методах setHasMultiplePages: и addPage) и просто вставьте код:

 [textView setDrawsBackground:NO];
 

…чтобы TextView не отображал белый фон по умолчанию. Светло-серый цвет, который вы затем видите, рисуется с помощью окружающего текстового представления scrollview, которое вы можете изменить в окне DocumentWindow.

РЕДАКТИРОВАТЬ: Если вы не хотите, чтобы вид прокрутки рисовал свой фон, снимите флажок «Рисует фон», после чего вы просто увидите серый фон окна по умолчанию (нарисованный его представлением содержимого).

Комментарии:

1. Но я хочу иметь прозрачный фон, а не какой-либо другой цвет.

Ответ №2:

Этот код, кажется, работает:

 [[self firstTextView] setDrawsBackground:NO];
[scrollView setDrawsBackground:NO];
[[self window] setBackgroundColor: [NSColor clearColor]];
[[self window] setOpaque:NO];
 

Ответ №3:

Для достижения этой цели вам нужно ровно две строки кода:

 [textField setBordered:NO];
[textField setDrawsBackground:NO];