修改NSScrollView滚动条的颜色

项目中需要修改滚动条的颜色,查阅自己资料,自己总结,可以按照如下方式实现:

首先自定义滚动条,CustomScroller.h文件

#import <Cocoa/Cocoa.h>@interface CustomScroller : NSScroller@end

CustomScroller.m文件

#import "CustomScroller.h"@implementation CustomScroller
- (void)drawKnob {[super drawKnob];NSRect knobRect = NSInsetRect([self rectForPart:NSScrollerKnob], 3, 0);NSBezierPath *bezierPath = [NSBezierPath bezierPathWithRoundedRect:knobRect xRadius:3 yRadius:3];[[NSColor redColor] set];[bezierPath fill];
}
@end

经过上述步骤,项目中使用Scroller

tableContainerView.verticalScroller = [[CustomScroller alloc] init];

最终颜色是变了,但是,滚动条不消失。

最终引用RFOverlayScrollView实现,但是它这个不能修改颜色,因此将上述- (void)drawKnob加入RFOverlayScroller类中即可实现修改滚动条颜色功能。细节如颜色、圆角、宽度等可根据个人需要调整,总体思路就是这样

以下是我想提交到Stack Overflow网站的回答,可惜由于以前回答不认真,账号被封,提交不了,索性提交给咱们CSDN用吧。


I need to set scroller color with red, I achieved it by follow:

  • write a subclass of NSScroller
  • override drawKnob
-(void)drawKnob {
[super drawKnob];NSRect knobRect = NSInsetRect([self rectForPart:NSScrollerKnob], 3, 0);
NSBezierPath *bezierPath = [NSBezierPath bezierPathWithRoundedRect:knobRect xRadius:3 yRadius:3];
[[NSColor redColor] set];
[bezierPath fill];
}

But I found scroller will never disappear, finally I used RFOverlayScrollView and add these code to class of RFOverlayScroller resolved it finally, hope it is helpful for you!

修改NSScrollView滚动条的颜色相关推荐

  1. VC修改IE滚动条宽度

    VC下修改IE滚动条宽度,修改滚动条颜色是一个很简单的问题.但是IE的滚动条的宽度则是一件麻烦事,可能很多人遇到过这个问题.通过我一段时间的研究发现,IE浏览器的滚动条宽度是读取系统的滚动条默认宽度创 ...

  2. 关于HTML中的滚动条/去掉滚动条 设置颜色

    1.xhtml下滚动条的颜色问题 在原来的html的时候,我们可以这样定义整个页面的滚动条: body{  scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/   ...

  3. Vue项目修改浏览器滚动条样式

    Vue+Element组件修改浏览器滚动条样式 前言:在Vue项目中会有使用到滚动条的情况,但是会遇到原生滚动条的样式不满足UI设计,因此需要改变滚动条的样式,下面使用两种方式来修改滚动条的样式,以V ...

  4. 修改浏览器滚动条样式(兼容IE)

    通常为了满足页面整体的风格的情况下,需要修改滚动条的颜色,各大视频网站都是以添加自定义滚动条的方式来满足,其实也可以理解,毕竟好像就只要添加一两个而已.如果是做管理系统或者其它需要多处修改浏览器滚动条 ...

  5. css 修改浏览器滚动条样式(火狐Firefox,谷歌google)

    一.修改谷歌google: 修改样式: 1.全局修改,所有滚动条生效: ::-webkit-scrollbar{width:6px;height:6px; background-color: #000 ...

  6. android 动态修改 selector,Android Selector 按下修改背景和文本颜色的实现代码

    1,selector 按下修改背景和文本颜色 [1]点击改变字体颜色 - android:state_pressed(按压状态) [2]selector状态选择器(bg_btn_two (存放 res ...

  7. iOS 修改navigationController返回按钮颜色和文字

    引言 在iOS开发过程中,NavigetionController(导航栏)算是比较常用的一种控件,而系统自带的样式有时候往往不是我们所需要的,这时候就要求我们必须自定义或修改一下. 修改返回键的标题 ...

  8. Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色、编辑器内代码注释区域的颜色、编辑器内的Python Interpreter等)之详细攻略

    Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色.编辑器内代码注释区域的颜色.编辑器内的Python Interpreter等)之详细攻略 目录 ...

  9. ubuntu16.04 xfce4的鼠标主题设置为oxygen-red、修改文件夹背景颜色、两处系统字体设置、右键菜单添加压缩解压选项

    安装 oxygen-cursor-theme oxygen-cursor-theme-extra 然后 设置=>鼠标和触摸板 如果是自定义鼠标主题,那么把主题文件解压后拷贝到: /usr/sha ...

最新文章

  1. R语言ggplot2可视化使用guide_axis函数避免X轴标签互相重叠(Overlapping)、Dodge Overlapping X-axis Text with guide_axis()
  2. 大数据之Spark集群安装及简单使用
  3. Java Web学习总结(19)——web.xml配置详解
  4. 经典面试题:有序矩阵的快速查找
  5. 开源的全面胜利背后,那些被遗忘的人性问题
  6. [转载] python 中 setattr() 函数 和 getarrr() 函数
  7. maven 多环境打包发布的两种方式
  8. 【深度学习】之Caffe的solver文件配置(转载自csdn)
  9. Windows Server 2008 使用蓝牙的问题
  10. python调用大漠插件、检测么_Python调用大漠插件
  11. java实现康威生命游戏
  12. UC3842好坏的判断方法
  13. 在Vista中用鼠标激活Flip 3D
  14. 计算机病毒如何彻底去除,电脑中病毒最彻底的清除方法 彻底清理删除电脑病毒的几种简单方法...
  15. 【NFC】手机手环模拟门禁卡
  16. 估算活动持续时间-规划管理
  17. 相机ISO是什么 ISO是什么意思?
  18. 北大青鸟资源管理系统
  19. 网络安全绝地求生-面试题
  20. 使用nvm管理node

热门文章

  1. Android 11.0 12.0Camera2 静音时拍照去掉快门声音
  2. 基于51单片机的高速汽车列车汽车速度测量及报警装置proteus仿真原理图PCB
  3. 名字转换(java)
  4. SAP Workflow 工作流开发步骤总结
  5. RuntimeError: Couldn‘t install gfpgan.
  6. iOS 项目couldn't load project
  7. mongodb java查询_java操作mongoDB查询的实例详解
  8. android 去指纹设置,android调用系统指纹设置页面录入指纹
  9. 鲁大师赴港上市,周鸿祎的另一支“奇兵”,暗指智能硬件?
  10. 抖音斜体加粗昵称生成HTML源码