gpt4 book ai didi

objective-c - NSTextField - 黑色背景上的白色文本,但黑色光标

转载 作者:太空狗 更新时间:2023-10-30 03:10:57 26 4
gpt4 key购买 nike

我设置了一个 NSTextField,文本颜色为白色,背景颜色为(黑色,尽管没有渲染背景颜色,所以它是透明的)。全部在 Interface Builder 中。

我遇到的问题是光标是黑色的,几乎看不见光标不代表文本颜色吗?有什么办法可以解决这个问题吗?

否则,NSTextField 看起来无法编辑。

最佳答案

因为在实践中,-currentEditor 为 NSTextField 返回的 NSText* 始终是 NSTextView*,所以我将以下代码添加到我的自定义 NSTextField 子类中:

-(BOOL) becomeFirstResponder
{
BOOL success = [super becomeFirstResponder];
if( success )
{
// Strictly spoken, NSText (which currentEditor returns) doesn't
// implement setInsertionPointColor:, but it's an NSTextView in practice.
// But let's be paranoid, better show an invisible black-on-black cursor
// than crash.
NSTextView* textField = (NSTextView*) [self currentEditor];
if( [textField respondsToSelector: @selector(setInsertionPointColor:)] )
[textField setInsertionPointColor: [NSColor whiteColor]];
}
return success;
}

因此,如果您因为要进行自定义背景绘制而已经替换了此类,那么这可能是一个更加封装的解决方案。也许甚至有一种方法可以将它移到 NSCell 中,这样会更干净,因为 NSCell 是进行绘图并知道颜色的人。

关于objective-c - NSTextField - 黑色背景上的白色文本,但黑色光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com