Проблемы Цвета NSTextField

Я динамично добавляю a NSTextField к окну и у меня есть проблемы с рендерингом. Я выбираю цвет фона для черного цвета и цвет текста для белого. Они оба работа, но их - что, кажется, прямоугольник, который является частью текста, который является всегда белым. Кто-либо знает то, что я мог бы делать неправильно? Как я могу избавиться от белого фона, который является только вокруг текста? Код следующие:

//Create rectangle to size text field

NSRect textFieldRect = NSMakeRect(300, 300, 300, 54);

//Instantiate text field and set defaults
NSTextField* textField = [[NSTextField alloc] initWithFrame:textFieldRect];

[textField setFont:[NSFont fontWithName:@"Arial" size:48]];

[textField setTextColor:[NSColor whiteColor]];

[textField setStringValue:@"Some Text"];

[textField setBackgroundColor:[NSColor blackColor]];

[textField setDrawsBackground:YES];

[textField setBordered:NO];

[[window contentView] addSubview:textField];
9
задан Justin Boo 4 July 2012 в 12:02
поделиться

2 ответа

Я попробовал ваш код на Mac OS X 10.6.4.

Внутри делегата приложения:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    NSRect textFieldRect = NSMakeRect(300, 300, 300, 54);
    NSTextField* textField = [[NSTextField alloc] initWithFrame:textFieldRect];
    [textField setFont:[NSFont fontWithName:@"Arial" size:48]];
    [textField setTextColor:[NSColor whiteColor]];
    [textField setStringValue:@"Some Text"];
    [textField setBackgroundColor:[NSColor blackColor]];
    [textField setDrawsBackground:YES];
    [textField setBordered:NO];
    [[window contentView] addSubview:textField];
}

И вот результат

alt text http://www.freeimagehosting.net/uploads/26c04b6b64.png

Я не вижу никакого белого поля.
Возможно, вы используете другую ОС.
Или, возможно, у вас есть несколько других видов поверх друг друга, которые вызывают странный эффект, о котором вы говорите.

11
ответ дан 4 December 2019 в 15:11
поделиться

Хорошо,

Тайна частично раскрыта. В сочетании с моим NSTextField я также устанавливаю некоторые NSApplicationPresentationOptions для перевода приложения в режим киоска. Похоже, что что-то с этим вызывает проблему, которую я вижу. Если я не установил PresentationOptions, NSTextField будет отображаться именно так, как я хочу. Я отследу, какой именно PresentationOption виноват, и опубликую здесь.

0
ответ дан 4 December 2019 в 15:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: