NSTextField和NSComboBox在Lion中的绘制方式不同

时间:2011-08-10 00:22:55

标签: cocoa macos user-interface osx-lion appkit

我有一个我在Snow Leopard下开发的数据表单,NSTextFieldNSComboBox个字段旁边有NSComboBox个框,在Snow Leopard下看起来很好,但现在在Lion中,它们被略微绘制不同。我还有一些带有边框按钮的NSComboBox字段,有些带有无序按钮,但这些字段也不匹配(尽管带边框的按钮NSTextField看起来接近NSTextField,虽然它也不匹配。

我怎样才能让一切都和谐相处?我很乐意让NSComboBox像组合框一样自动完成,因为我无论如何都要隐藏按钮。

无边框NSTextField左,NSComboBox left,右(不同的上边缘):

Non-Bordered Combo vs. Text Field

有界{{1}} NSTextField`右(不同高度):

Bordered Combo vs. Text Field

1 个答案:

答案 0 :(得分:2)

我最终使用NSTextField控件替换了我的非边框组合框(我一直在隐藏按钮),使用此处的方法:NSTextField AutoCompletion

我稍微修改了一下:

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

当我希望NSComboBox按钮可见时,我会使用边框样式,它足够匹配。

相关问题