gpt4 book ai didi

cocoa - 如何判断 NSTextFieldCell isHighlighted 何时没有焦点?

转载 作者:行者123 更新时间:2023-12-03 16:06:16 25 4
gpt4 key购买 nike

我已经对 NSTextFieldCell (在 NSTableView 内部)进行了子类化,以在选择单元格(即行)时绘制自定义前景色(例如 isHighlighted 为 true)并且一切正常。

问题是当 TableView 失去焦点时我想用不同的颜色绘制选定的行,如何确定包含单元格的 TableView 是否不是drawWithFrame:(NSRect)cellFrame inView内的第一响应者:(NSView*)controlView?

我当前的代码是

- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
NSColor* textColor = [self isHighlighted]
? [NSColor alternateSelectedControlTextColor]
: [NSColor darkGrayColor];
}

最佳答案

我发现最好的方法不会让你处理响应者(因为有时 controlView 的 super View 是响应者或一些废话)是使用编辑器:

BOOL isEditing = [(NSTextField *)[self controlView] currentEditor] != nil;

就这么简单!

关于cocoa - 如何判断 NSTextFieldCell isHighlighted 何时没有焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875693/

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