Fab*_*ger 6 cocoa objective-c nsview nsmenuitem
我尝试使用自定义视图NSMenuitem,这是有效的.不幸的是,我在突出显示方面遇到了一些困难(鼠标悬停).我已经按照其他线程中的说明在drawRect:我的NSView子类中实现手动执行蓝色突出显示.这似乎有效,但突出显示颜色不正确.与普通菜单项相比,它看起来太暗了,有趣的subviews是我的自定义视图使用了正确的高亮颜色(见截图).有关如何解决此问题的任何想法?
我drawRect:在NSView子类中的当前方法如下所示:
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
BOOL isHighlighted = [[self enclosingMenuItem] isHighlighted];
if (isHighlighted)
{
[[NSColor selectedMenuItemColor] setFill];
NSRectFill(dirtyRect);
[self.profileNameView setTextColor:[NSColor whiteColor]];
[self.securedIPView setTextColor:[NSColor whiteColor]];
[self.separatorView setTextColor:[NSColor whiteColor]];
[self.connectionTimeView setTextColor:[NSColor whiteColor]];
}
else
{
[self.profileNameView setTextColor:[NSColor controlTextColor]];
[self.securedIPView setTextColor:[NSColor disabledControlTextColor]];
[self.separatorView setTextColor:[NSColor disabledControlTextColor]];
[self.connectionTimeView setTextColor:[NSColor disabledControlTextColor]];
}
}
Run Code Online (Sandbox Code Playgroud)
结果突出显示如下:

| 归档时间: |
|
| 查看次数: |
737 次 |
| 最近记录: |