NSTextField и NSComboBox нарисованы по-разному в Lion - PullRequest
0 голосов
/ 10 августа 2011

У меня есть форма данных, которую я разработал под Snow Leopard, которая имеет NSTextField боксы рядом с NSComboBox полями, и это отлично выглядело при Snow Leopard, но теперь в Lion они нарисованы немного по-другому. У меня также есть несколько полей NSComboBox с кнопкой с рамкой, а некоторые с неупорядоченной кнопкой, и они тоже не совпадают (хотя кнопка NSComboBox с рамкой выглядит близко к NSTextField, хотя она не совпадает, либо.

Как мне заставить все гармонично сочетаться? Я был бы счастлив получить NSTextField для автозаполнения как поле со списком, так как я все равно скрываю кнопку.

без границ NSComboBox слева, NSTextField справа (другой верхний край):

Non-Bordered Combo vs. Text Field

Граничит NSComboBox left, NSTextField` справа (разные высоты):

Bordered Combo vs. Text Field

1 Ответ

2 голосов
/ 10 августа 2011

В итоге я заменил свои незакрашенные поля со списком (для которых я скрывал кнопки) элементами управления NSTextField, используя метод здесь: NSTextField AutoCompletion .

Я немного его изменил:

- (void)controlTextDidChange:(NSNotification *)obj {
    if (!isAutoCompleting) {
        isAutoCompleting = YES;
        [[[obj userInfo] objectForKey:@"NSFieldEditor"] complete:nil];
        isAutoCompleting = NO;
    }
}

Когда я хочу, чтобы кнопка NSComboBox была видимой, я использую стиль рамки, который достаточно близко соответствует.

...