MacOS 开发 修改NSButton背景颜色及文字信息

标签: MacOS开发
2人阅读 评论(0) 收藏 举报
分类:

和UIButton不同的是NSButton并没有修改背景颜色的属性,只能通过重绘来修改

修改背景颜色只需要两步:如图

1、通过NSColor的set方法设置颜色

2、利用函数NSRectFill()重绘想要修改的颜色的区域,这里修改的是NSButton的背景颜色,所以默认的是NSButton的bounds

要注意的是这两行代码都写在-(void)drawRect:(NSRect)dirtyRect方法里,否则无效


重绘文字信息(文字颜色、字体等)

NSButton同样没有对应的属性修改文字的一些属性,这里我们也需要重新绘制

在这里我们修改文字的属性用到了NSAttributedString这个类,相信这个类大家不陌生,具体代码入下:


1、NSMutableParagraphStyle这个类主要可以设置文字的一些基础状态,例如文字对齐方式等

2、通过NSAttributedString把文字和文字的一些属性重新绘制到NSButton里

这样就可以很好的解决问题了,

当然了,你也可以通过封装一个NSView来实现NSButton的效果

查看评论

改变NSButton字(title)的颜色

转自我的简书:http://www.jianshu.com/p/a9e86b79a2d4 NSButton不能像UIButton那样简单的修改title的颜色,或者说NSButton不能像UIButt...
  • markinstephen
  • markinstephen
  • 2017-03-29 17:55:12
  • 1032

学习Mac开发第一弹 认识 NSButton

学习Mac开发第一弹 认识 NSButton NSButton 外观与属性 打开storyboard 面版,发现NSButton 有很多类型。先在ViewController 拖个Push...
  • lengshengren
  • lengshengren
  • 2016-12-26 17:32:19
  • 2897

MacOS 开发 - NSButtonType

NSButtonTypetypedef NS_ENUM(NSUInteger, NSButtonType) { NSButtonTypeMomentaryLight = 0, N...
  • lovechris00
  • lovechris00
  • 2017-09-14 10:00:13
  • 2125

MacOS 开发 - NSButton - 勾选框(NSButtonTypeSwitch)

MacOS 开发 - NSButton - 勾选框(NSButtonTypeSwitch)
  • lovechris00
  • lovechris00
  • 2017-09-14 10:55:47
  • 2278

[Cocoa]_[初级]_[NSButton之改变title标题的颜色]

场景:用于布局控件,根据界面的需要设置不同颜色的title。之前一直进入一个误区,直接自定义NSButton控件,其实这个方法是不好的,会使title重绘多次,复用性不高。 后来发现直接自定义NSBu...
  • moqj_123
  • moqj_123
  • 2015-07-26 15:29:17
  • 2062

[cocoa]Mac开发知识:NSButton使用及自定义/Safari调用/NSTextField

1.NSButton的实用知识; 2.自定义button相应鼠标不同状态事件; 3.应用中调用Safari...
  • kaka_2928
  • kaka_2928
  • 2016-03-30 20:07:05
  • 2350

Mac开发之如何设置NSButton高亮图片

如何设置NSButton高亮图片
  • u014636932
  • u014636932
  • 2017-09-05 20:04:30
  • 371

NSButton how to color the text

-(void)setNSButtonTextColor:(NSButton *)button                    andColor:(NSColor *)color {  ...
  • u013317006
  • u013317006
  • 2014-09-01 17:18:55
  • 835

MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )

NSButton 和 NSButtonCell 的继承关系 Cell和Control 的关系本文选摘自 关于NSCell : http://cocoa.venj.me/blog/about-nsce...
  • lovechris00
  • lovechris00
  • 2017-09-08 15:52:57
  • 2271

NSButton UI  修改

更改NSButton的高度,使用的默认的button 图一,button的frame属性Height被系统锁死,无法更改       如图所示,interfaceBuilder中拖入一个but...
  • u014600626
  • u014600626
  • 2016-12-20 11:09:49
  • 739
    个人资料
    等级:
    访问量: 481
    积分: 54
    排名: 166万+
    文章分类
    文章存档