NSTableview行选中时textcolor改变

在项目开发过程中,UI测试反馈一个Bug,TableView行选中时,行内字体图片发生改变。

一开始认为是在行选中时,被自动设置成系统默认的选中字体颜色,便在行选中时,重新设置选中行里的文字字体颜色,并没有什么用。后来当tablecellview的backgroudstyle发生改变时,会影响其中的subview的backgroudstyle的改变。

when the -backgroundStyle is NSBackgroundStyleDark, the view should use a light text color. Upon setting, the default implementation automatically forwards calls to all subviews that implement -setBackgroundStyle: or are an NSControl (which have NSCells that respond to -setBackgroundStyle:)

于是我在继承的NSTableCellView类中重写- (void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle禁止subview的backgroundStyle改变。

- (void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle
{
    [super setBackgroundStyle:backgroundStyle];
    if(backgroundStyle == NSBackgroundStyleDark)
    {
        self.textField.cell.backgroundStyle = NSBackgroundStyleLight;
        self.imageView.cell.backgroundStyle = NSBackgroundStyleLight; 
    }
}

j

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 夏天的鸟 生于骄阳似火的季节 成长在风雨飘摇的处境 他们不惧风暴 不畏艰难 认定的路,走下去 向往的远方,飞过去 ...
    不过花开阅读 3,047评论 0 0
  • 我做花的初心是不用任何会被浪费的包装,坚持手工写花艺卡片,坚持搭配应季花材,坚持要客户知道每个花材的学名与养护细节...
    小蜜蕥阅读 2,695评论 0 0
  • 天气炎热,工作烦躁 咖啡见底,精神萎靡 此时此刻,小确幸光临 走廊尽头空了许久的饮料贩卖机 居然开始补货了 叮叮咚...
    大鱼有余阅读 1,517评论 0 1
  • 项目上线有一段时间了,自己总结了下项目。项目中的EventBus真的是到处都有它的影子,说实话,用上EventBu...
    的一幕阅读 2,361评论 0 1
  • 了不起的爸爸和了不起的女儿!
    一只囧囧菇耶阅读 1,895评论 0 0

友情链接更多精彩内容